Q4aa.Q5G = function() {
    return typeof Q4aa.j5G.v7v === 'function' ? Q4aa.j5G.v7v.apply(Q4aa.j5G, arguments) : Q4aa.j5G.v7v;
};
Q4aa.c5G = function() {
    return typeof Q4aa.j5G.e7v === 'function' ? Q4aa.j5G.e7v.apply(Q4aa.j5G, arguments) : Q4aa.j5G.e7v;
};
Q4aa.q5G = function() {
    return typeof Q4aa.j5G.l5G === 'function' ? Q4aa.j5G.l5G.apply(Q4aa.j5G, arguments) : Q4aa.j5G.l5G;
};
Q4aa.s5G = function() {
    return typeof Q4aa.j5G.l5G === 'function' ? Q4aa.j5G.l5G.apply(Q4aa.j5G, arguments) : Q4aa.j5G.l5G;
};
Q4aa.Y5G = function() {
    return typeof Q4aa.j5G.e7v === 'function' ? Q4aa.j5G.e7v.apply(Q4aa.j5G, arguments) : Q4aa.j5G.e7v;
};
Q4aa.H7v = function() {
    return typeof Q4aa.p7v.v7v === 'function' ? Q4aa.p7v.v7v.apply(Q4aa.p7v, arguments) : Q4aa.p7v.v7v;
};
Q4aa.U7v = function() {
    return typeof Q4aa.p7v.e7v === 'function' ? Q4aa.p7v.e7v.apply(Q4aa.p7v, arguments) : Q4aa.p7v.e7v;
};
Q4aa.z7v = function() {
    return typeof Q4aa.p7v.e7v === 'function' ? Q4aa.p7v.e7v.apply(Q4aa.p7v, arguments) : Q4aa.p7v.e7v;
};
Q4aa.p7v = function(h7v) {
    return {
        v7v: function() {
            var y7v, L7v = arguments;
            switch (h7v) {
                case Q4aa.s5G()[3][0]:
                    y7v = (-L7v[0] - L7v[2] + L7v[1]) * L7v[4] / L7v[3];
                    break;
                case Q4aa.s5G()[14][22]:
                    y7v = L7v[0] != L7v[1];
                    break;
                case Q4aa.q5G()[17][22]:
                    y7v = L7v[5] + L7v[4] + L7v[1] + L7v[3] + L7v[2] + L7v[0];
                    break;
                case Q4aa.q5G()[18][7]:
                    y7v = L7v[2] * L7v[0] - L7v[1];
                    break;
                case Q4aa.q5G()[7][5][14]:
                    y7v = L7v[0] in L7v[1];
                    break;
                case Q4aa.q5G()[16][30]:
                    y7v = L7v[1] == L7v[0];
                    break;
                case Q4aa.s5G()[32][7]:
                    y7v = L7v[4] * (L7v[2] + L7v[3] + L7v[0]) - L7v[1];
                    break;
                case Q4aa.s5G()[31][2][30][23]:
                    y7v = L7v[1] & (L7v[0] | L7v[2]);
                    break;
                case Q4aa.q5G()[0][9]:
                    y7v = L7v[3] * (-L7v[2] - L7v[1]) + L7v[0];
                    break;
                case Q4aa.s5G()[19][4]:
                    y7v = L7v[1] | L7v[0];
                    break;
                case Q4aa.s5G()[4][25]:
                    y7v = (-(L7v[3] * L7v[4] * L7v[1]) - L7v[2]) / -L7v[0];
                    break;
                case Q4aa.s5G()[32][14]:
                    y7v = L7v[0] / L7v[2] * L7v[1];
                    break;
                case Q4aa.q5G()[25][15][24][21]:
                    y7v = L7v[1] + L7v[0];
                    break;
                case Q4aa.q5G()[21][27][30]:
                    y7v = void L7v[1] !== L7v[0];
                    break;
                case Q4aa.s5G()[8][17]:
                    y7v = L7v[1] + L7v[2] + L7v[0] + L7v[3];
                    break;
                case Q4aa.q5G()[26][3]:
                    y7v = (L7v[1] - L7v[2]) / L7v[0];
                    break;
                case Q4aa.s5G()[24][22]:
                    y7v = -(L7v[3] * L7v[1]) - L7v[0] + L7v[2];
                    break;
                case Q4aa.q5G()[4][0]:
                    y7v = L7v[5] + L7v[4] + L7v[1] + L7v[2] + L7v[7] + L7v[6] + L7v[0] + L7v[3];
                    break;
                case Q4aa.q5G()[4][28]:
                    y7v = L7v[2] * L7v[0] / L7v[1];
                    break;
                case Q4aa.s5G()[30][19]:
                    y7v = L7v[1] - L7v[0];
                    break;
                case Q4aa.s5G()[3][1]:
                    y7v = L7v[1] * L7v[0] + L7v[3] * L7v[2];
                    break;
                case Q4aa.q5G()[30][25]:
                    y7v = L7v[3] + L7v[2] + L7v[4] + L7v[1] + L7v[0];
                    break;
            }
            return y7v;
        },
        e7v: function(b7v) {
            h7v = b7v;
        }
    };
}();
Q4aa.O7v = function() {
    return typeof Q4aa.p7v.v7v === 'function' ? Q4aa.p7v.v7v.apply(Q4aa.p7v, arguments) : Q4aa.p7v.v7v;
};
Q4aa.j5G = function() {
    var a5G = 2;
    while (a5G !== 1) {
        switch (a5G) {
            case 2:
                return {
                    l5G: function H5G(t5G, x5G) {
                        var E5G = 2;
                        while (E5G !== 10) {
                            switch (E5G) {
                                case 13:
                                    n5G -= 1;
                                    E5G = 6;
                                    break;
                                case 12:
                                    P5G += 1;
                                    E5G = 8;
                                    break;
                                case 2:
                                    var X5G = [];
                                    E5G = 1;
                                    break;
                                case 7:
                                    var n5G = t5G - 1;
                                    E5G = 6;
                                    break;
                                case 3:
                                    y5G += 1;
                                    E5G = 5;
                                    break;
                                case 9:
                                    var P5G = 0;
                                    E5G = 8;
                                    break;
                                case 14:
                                    X5G[P5G][(n5G + x5G * P5G) % t5G] = X5G[n5G];
                                    E5G = 13;
                                    break;
                                case 11:
                                    return X5G;
                                    break;
                                case 6:
                                    E5G = n5G >= 0 ? 14 : 12;
                                    break;
                                case 5:
                                    E5G = y5G < t5G ? 4 : 9;
                                    break;
                                case 4:
                                    X5G[(y5G + x5G) % t5G] = [];
                                    E5G = 3;
                                    break;
                                case 8:
                                    E5G = P5G < t5G ? 7 : 11;
                                    break;
                                case 1:
                                    var y5G = 0;
                                    E5G = 5;
                                    break;
                            }
                        }
                    }(33, 9)
                };
                break;
        }
    }
}();

function Q4aa() {}
Q4aa.p5G = function() {
    return typeof Q4aa.j5G.v7v === 'function' ? Q4aa.j5G.v7v.apply(Q4aa.j5G, arguments) : Q4aa.j5G.v7v;
};
GamePix["define"]("utils", [], function() {
    var v4, A4, X4;

    function H4(r4) {
        var g5G = Q4aa;
        var p4, R4, V4, W4;
        p4 = document["cookie"];
        g5G.U7v(g5G.s5G()[19][27]);
        R4 = g5G.H7v("=", r4);
        g5G.z7v(g5G.q5G()[15][24][12]);
        V4 = p4['indexOf'](g5G.H7v(R4, '; '));
        W4 = document["cookie"]['indexOf'](';', V4);
        if (-1 == V4) {
            if (0 !== (V4 = p4['indexOf'](R4))) {
                return null;
            }
        } else {
            V4 += 2, -1 == (W4 = document["cookie"]['indexOf'](';', V4)) && (W4 = p4["length"]);
        }
        return unescape(p4['substring'](V4 + R4['length'], W4));
    }

    function L4(N4, s4) {
        var z4, a4, e4;
        z4 = Q4("utm_source");
        a4 = Q4('utm_medium');
        z4 || (z4 = document['referrer'] ? A4(document['referrer']) : 'unknown');
        e4 = "?";
        !1 !== s4 && void 0 !== s4 && (e4 = '?sid=' + s4 + '&');
        Q4aa.z7v(Q4aa.s5G()[13][15]);
        window['location']["href"] = Q4aa.H7v(a4, e4, "utm_source=", "&utm_campaing=redirect", N4, 'http://games.gamepix.com/play/', "&utm_medium=", z4);
    }

    function g4() {
        return document['cookie'] = "gpx_cookie", -1 != document["cookie"]["indexOf"]('gpx_cookie');
    }

    function d4() {
        var L2;
        try {
            L2 = window['localStorage'];
            return L2["setItem"]('test', '1'),
                L2['removeItem']("test"), !0;
        } catch (X2) {
            return !1;
        }
    }

    function b4(O4) {
        var l4, K4, D4, U4;
        l4 = window;
        K4 = 'click';
        D4 = new RegExp(/Android|iPhone|iPad|iPod|webOS|BlackBerry|IEMobile|Tablet PC|Opera Mini/i);
        D4['test'](navigator["userAgent"]) && (l4 = document["createElement"]('div'),
            l4["id"] = "gamePlayedDiv",
            l4["style"]["zIndex"] = zIndexGamepix,
            l4['style']["position"] = "fixed",
            l4['style']['width'] = '100%',
            l4["style"]["height"] = '100%',
            l4['style']["top"] = "0px",
            l4['style']['left'] = "0px",
            document['body']['appendChild'](l4));
        U4 = function() {
            if (l4['removeEventListener'](K4, U4),
                l4['removeEventListener']("keydown", U4),
            l4 != window)
                try {
                    document['body']['removeChild'](l4);
                } catch (m4) {
                    console['log'](m4['message']);
                }
            O4(K4);
        };
        try {
            D4 = new RegExp(/Android|iPhone|iPad|iPod|webOS|BlackBerry|IEMobile|Tablet PC|Opera Mini/i);
            D4['test'](navigator['userAgent']) ? 'onpointerup' in window ? (K4 = "pointerup",
                l4["addEventListener"](K4, U4)) : "ontouchend" in window ? (K4 = "touchend",
                l4["addEventListener"](K4, U4)) : window['navigator']["msPointerEnabled"] ? (K4 = "MSPointerUp",
                l4["addEventListener"](K4, U4)) : 'onclick' in window && (K4 = "click",
                l4['addEventListener'](K4, U4),
                l4["addEventListener"]('keydown', U4)) : "onclick" in window && (K4 = 'click',
                l4["addEventListener"](K4, U4),
                l4["addEventListener"]("keydown", U4));
        } catch (o4) {
            console['log'](o4["message"]);
            O4();
        }
    }

    function f4(y4) {
        if (window["WebGLRenderingContext"]) {
            for (var i4 = document['createElement']('canvas'), q4 = ['webgl', 'experimental-webgl', 'moz-webgl', "webkit-3d"], Z4 = !1, F4 = 0; F4 < 4; F4++)
                try {
                    if ((Z4 = i4['getContext'](q4[F4])) && 'function' == typeof Z4["getParameter"]) {
                        return !y4 || {
                            name: q4[F4],
                            gl: Z4
                        };
                    }
                } catch (T4) {}
            return !1;
        }
        return !1;
    }

    function P4() {
        var Y4, Q2;
        if (document["createEvent"]) {
            Y4 = document['createEvent']("Event");
            Y4["initEvent"]("resize", !0, !0);
            window["dispatchEvent"](Y4);
        } else {
            element = document['documentElement'];
            Q2 = document['createEventObject']();
            element["fireEvent"]("onresize", Q2);
        }
    }

    function E4(j4, S4) {
        try {
            new RegExp(/Android|iPhone|iPad|iPod|webOS|BlackBerry|IEMobile|Tablet PC|Opera Mini/i)['test'](navigator["userAgent"]) ? "onpointerup" in window ? document['getElementById'](j4)["addEventListener"]('pointerup', function() {
                return S4();
            }) : 'ontouchend' in window ? document['getElementById'](j4)['addEventListener']('touchend', function() {
                return S4();
            }) : window["navigator"]['msPointerEnabled'] ? document['getElementById'](j4)["addEventListener"]("MSPointerUp", function() {
                return S4();
            }) : "onclick" in window && document['getElementById'](j4)['addEventListener']('click', function() {
                return S4();
            }) : "onclick" in window && document["getElementById"](j4)['addEventListener']("click", function() {
                return S4();
            });
        } catch (x4) {
            console['log'](x4["message"]);
            S4();
        }
    }

    function G4() {
        var A2, H2, v2;
        A2 = ".canvas:-webkit-full-screen { width: 100%;height: 100%;}";
        H2 = document['head'] || document["getElementsByTagName"]("head")[0];
        v2 = document["createElement"]("style");
        v2['type'] = "text/css";
        v2['styleSheet'] ? v2['styleSheet']['cssText'] = A2 : v2["appendChild"](document['createTextNode'](A2));
        H2["appendChild"](v2);
        (document['getElementById']("gamePlayedDiv") || window)["addEventListener"]("touchend", function() {
            document["fullscreenElement"] || document["mozFullScreenElement"] || document['webkitFullscreenElement'] || document["msFullscreenElement"] || (document["fullscreenElement"] || document["mozFullScreenElement"] || document["webkitFullscreenElement"] || document['msFullscreenElement'] ? document['exitFullscreen'] ? document["exitFullscreen"]() : document['msExitFullscreen'] ? document['msExitFullscreen']() : document["mozCancelFullScreen"] ? document["mozCancelFullScreen"]() : document["webkitExitFullscreen"] && document["webkitExitFullscreen"]() : (document['documentElement']['requestFullscreen'] ? document['documentElement']['requestFullscreen']() : document['documentElement']['msRequestFullscreen'] ? document['documentElement']["msRequestFullscreen"]() : document['documentElement']['mozRequestFullScreen'] ? document["documentElement"]['mozRequestFullScreen']() : document["documentElement"]['webkitRequestFullscreen'] && document["documentElement"]["webkitRequestFullscreen"](Element['ALLOW_KEYBOARD_INPUT']),
                setTimeout(function() {
                    P4();
                }, 1e3)));
        }, !1);
        window['addEventListener']("beforeunload", function(b2) {
            document["exitFullscreen"] ? document['exitFullscreen']() : document['msExitFullscreen'] ? document['msExitFullscreen']() : document["mozCancelFullScreen"] ? document["mozCancelFullScreen"]() : document['webkitExitFullscreen'] && document["webkitExitFullscreen"]();
        });
    }

    function J4(t4) {
        var B4, I4;
        B4 = "click";
        I4 = function() {
            window["removeEventListener"](B4, I4);
            document["getElementsByTagName"]('canvas')[0]["removeEventListener"](B4, I4);
            t4(B4);
        };
        try {
            new RegExp(/Android|iPhone|iPad|iPod|webOS|BlackBerry|IEMobile|Tablet PC|Opera Mini/i)["test"](navigator['userAgent']) ? "onpointerup" in window ? B4 = 'pointerup' : 'ontouchend' in window ? B4 = 'touchend' : window["navigator"]["msPointerEnabled"] ? B4 = "MSPointerUp" : 'onclick' in window && (B4 = "click") : "onclick" in window && (B4 = "click");
            window['addEventListener'](B4, I4);
            document['getElementsByTagName']("canvas")[0]['addEventListener'](B4, I4);
        } catch (M4) {
            console['log'](M4['message']);
            t4();
        }
    }
    v4 = function() {
        var f2;
        for (var G2 = {}, d2 = location["hash"]['substr'](1)["split"]("&"), P2 = 0; P2 < d2['length']; P2++) {
            f2 = d2[P2]["split"]("=");
            f2[1] && f2[1]['length'] > 0 && (G2[f2[0]] = unescape(f2[1]));
        }
        return G2;
    };
    A4 = function(J2) {
        var E2;
        E2 = document['createElement']("a");
        return E2["href"] = J2,
            E2['hostname'];
    };
    X4 = function() {
        return {
            VALUE_CREATED: "created",
            VALUE_UPDATED: "updated",
            VALUE_DELETED: 'deleted',
            VALUE_UNCHANGED: 'unchanged',
            map: function(w2, c2) {
                var C2, S2;
                if (this['isFunction'](w2) || this['isFunction'](c2)) {
                    throw 'Invalid argument. Function given, object expected.';
                }
                if (this["isValue"](w2) || this["isValue"](c2)) {
                    return {
                        type: this["compareValues"](w2, c2),
                        data: w2 || c2
                    };
                }
                C2 = {};
                for (var n2 in w2)
                    if (!this['isFunction'](w2[n2])) {
                        S2 = void 0;
                        void 0 !== c2[n2] && (S2 = c2[n2]);
                        C2[n2] = this['map'](w2[n2], S2);
                    }
                for (var n2 in c2) {
                    this["isFunction"](c2[n2]) || void 0 !== C2[n2] || (C2[n2] = this['map'](void 0, c2[n2]));
                }
                return C2;
            },
            compareValues: function(j2, B2) {
                return j2 === B2 ? this["VALUE_UNCHANGED"] : void 0 === j2 ? this["VALUE_CREATED"] : void 0 === B2 ? this["VALUE_DELETED"] : this['VALUE_UPDATED'];
            },
            isFunction: function(I2) {
                return "[object Function]" === {}['toString']['apply'](I2);
            },
            isArray: function(t2) {
                return "[object Array]" === {}['toString']["apply"](t2);
            },
            isObject: function(M2) {
                return '[object Object]' === {}["toString"]['apply'](M2);
            },
            isValue: function(l2) {
                return !this["isObject"](l2) && !this['isArray'](l2);
            }
        };
    }();

    function Q4(C4) {
        var c4;
        for (var w4 = window["location"]['search']["substring"](1), n4 = w4['split']("&"), u4 = 0; u4 < n4['length']; u4++) {
            c4 = n4[u4]["split"]("=");
            if (decodeURIComponent(c4[0]) == C4) {
                return decodeURIComponent(c4[1]);
            }
        }
    }
    return function() {
        for (var U2 = document["getElementsByTagName"]('*'), K2 = 0; K2 < U2['length'] - 1; K2++) {
            parseInt(U2[K2]["style"]['zIndex']) > zIndexGamepix && (zIndexGamepix = parseInt(U2[K2]["style"]["zIndex"]));
        }
    }(),
        function(s2) {
            var O2, D2, o2, m2, N2;
            if (/Android|iPhone|iPad|iPod|webOS|BlackBerry|IEMobile|Tablet PC|Opera Mini/i ["test"](navigator['userAgent']) && z2("mobileconsole")) {
                N2 = setInterval(function() {
                    document['getElementsByTagName']("body")[0] && (clearInterval(N2),
                        V2());
                }, 1e3);
            }

            function a2() {
                O2['style']["width"] = window['innerWidth'] + "px";
                D2["style"]["width"] = .6 * window["innerWidth"] + 'px';
                o2['style']["width"] = .2 * window["innerWidth"] + 'px';
                m2["style"]["width"] = .2 * window["innerWidth"] + "px";
                z2("jscH") ? (O2['style']['height'] = z2("jscH") + 'px',
                    D2["style"]['height'] = .9 * z2('jscH') + 'px',
                    o2['style']["height"] = .5 * z2('jscH') + 'px',
                    m2['style']["height"] = .5 * z2("jscH") + "px") : (O2["style"]['height'] = window['innerHeight'] / 4 + 'px',
                    D2["style"]['height'] = window['innerHeight'] / 4 * .9 + 'px',
                    o2['style']['height'] = window['innerHeight'] / 4 * .5 + 'px',
                    m2["style"]["height"] = window["innerHeight"] / 4 * .5 + "px");
                O2['style']['top'] = .75 * window['innerHeight'] + 'px';
            }

            function V2() {
                var R2;
                R2 = console["log"];
                console["log"] = function(F2) {
                    D2["value"] = "";
                    for (var W2 in arguments)
                        if (D2["value"] += "\n" + arguments[W2],
                        'object' == typeof arguments[W2])
                            for (var r2 in arguments[W2]) {
                                D2["value"] += '

                                    ***' + r2 + "***\n\n" + String(arguments[W2][r2]);
                            }
                    R2["apply"](console, arguments);
                };
                O2 = document['createElement']('div');
                O2['style']['position'] = 'fixed';
                O2["style"]["left"] = '0px';
                Q4aa.z7v(Q4aa.q5G()[14][15][12]);
                O2['style']["zIndex"] = Q4aa.O7v(1, zIndexGamepix);
                O2["style"]["backgroundColor"] = "rgba(0,0,0,0.5)";
                D2 = document['createElement']("textarea");
                D2["style"]['position'] = "relative";
                D2['style']["display"] = 'inline';
                D2['style']["resize"] = "none";
                D2['style']["outline"] = "none";
                D2["style"]["overflow"] = 'auto';
                o2 = document['createElement']('button');
                o2['textContent'] = "exec";
                o2['style']["position"] = 'absolute';
                o2["style"]['display'] = "inline";
                o2['style']['margin'] = 0;
                o2["style"]["padding"] = 0;
                m2 = document["createElement"]("button");
                m2['textContent'] = 'reset';
                m2['style']['position'] = "relative";
                m2["style"]['display'] = "inline";
                m2["style"]['margin'] = 0;
                m2['style']['padding'] = 0;
                O2['appendChild'](D2);
                O2["appendChild"](o2);
                O2["appendChild"](m2);
                document['body']['appendChild'](O2);
                a2();
                s2["addEventListener"]('resize', function() {
                    a2();
                }, !1);
                e2(o2, function() {
                    try {
                        eval(D2['value']);
                    } catch (Z2) {
                        D2["value"] = "";
                        D2['value'] += Z2['message'];
                    }
                });
                e2(m2, function() {
                    D2["value"] = "";
                });
            }

            function z2(Q3) {
                var T2;
                for (var Y2 = window['location']['search']['substring'](1), i2 = Y2["split"]("&"), q2 = 0; q2 < i2['length']; q2++) {
                    T2 = i2[q2]['split']("=");
                    if (decodeURIComponent(T2[0]) == Q3) {
                        return decodeURIComponent(T2[1]);
                    }
                }
            }

            function e2(v3, A3) {
                try {
                    'onpointerup' in s2 ? v3['addEventListener']("pointerup", function() {
                        return A3();
                    }) : "ontouchend" in s2 ? v3["addEventListener"]("touchend", function() {
                        return A3();
                    }) : s2["navigator"]['msPointerEnabled'] ? v3['addEventListener']('MSPointerUp', function() {
                        return A3();
                    }) : 'onclick' in s2 && v3['addEventListener']("click", function() {
                        return A3();
                    });
                } catch (H3) {
                    console['log'](H3["message"]);
                }
            }
        }(window), {
        urlParams: Q4,
        redirect: L4,
        bindInputFromDevice: E4,
        extractQueryStringHash: v4,
        addOneTimeEventListener: b4,
        removeFacebookButtonWhenClickOnBody: J4,
        checkCookie: g4,
        getCookie: H4,
        localStorage: d4,
        webgl: f4,
        goFullScreen: G4
    };
});
GamePix["define"]('xhr', [], function() {
    function b3(X3, g3, d3) {
        var L3, f3, P3, G3;
        L3 = new XMLHttpRequest();
        L3['onreadystatechange'] = function() {
            if (4 == L3["readyState"]) {
                return d3(200 == L3['status'] ? {
                    status: "success",
                    data: L3['responseText']
                } : 204 == L3['status'] ? {
                    status: "success",
                    message: 'The server has fulfilled the request but does not need to return an entity-body'
                } : {
                    status: "error",
                    message: "network error"
                });
            }
        };
        try {
            if ('GET' == g3["method"]) {
                f3 = "";
                g3['params'] && (f3 = '?' + g3["params"]);
                Q4aa.z7v(Q4aa.q5G()[30][27][12]);
                P3 = Q4aa.H7v(f3, X3);
                L3["open"](g3['method'], P3, !0);
                L3["setRequestHeader"]('Accept', 'application/json');
                L3['send']();
            } else if ('POST' == g3["method"]) {
                L3['open'](g3["method"], X3, !0),
                    L3["setRequestHeader"]('Content-Type', 'application/json; charset=UTF-8'),
                    L3["send"](JSON["stringify"](g3["data"]));
            } else if ("PUT" == g3["method"]) {
                L3["open"](g3['method'], X3, !0);
                L3['setRequestHeader']("x-ms-version", '2013-08-15');
                L3['setRequestHeader']("MaxDataServiceVersion", '3.0;NetFx');
                L3['setRequestHeader']("Accept", 'application/json;odata=nometadata');
                L3["setRequestHeader"]('Content-Type', 'application/json;odata=nometadata');
                G3 = g3['body'];
                L3['send'](JSON["stringify"](G3));
            }
        } catch (E3) {
            console['log']("erorre qui");
            console['log'](E3);
        }
    }
    return {
        call: b3
    };
});
GamePix['define']("serverApi", ["xhr"], function(J3) {
    var U5G = Q4aa;
    var n3, c3, u3, w3;

    function B3(e3, z3, s3) {
        'GET' == z3['method'] ? J3["call"](e3 + z3["id"] + "/" + z3['gid'], {
            method: z3['method'],
            data: z3["body"]
        }, function(a3) {
            if ("success" != a3['status']) {
                return s3(a3);
            }
            n3 = decodeURI(JSON["parse"](a3['data'])["data"]);
            C3(n3, {
                method: z3['method']
            }, function(N3) {
                return s3(N3);
            });
        }) : 'PUT' == z3["method"] && C3(n3, {
            method: z3["method"]
        }, function(V3) {
            return s3(V3);
        });
    }
    c3 = "https:" == window["location"]['protocol'] ? 'https' : 'http';
    U5G.U7v(U5G.q5G()[19][27][12]);
    u3 = U5G.H7v('://games.gamepix.com/', c3);
    U5G.z7v(U5G.s5G()[10][12]);
    w3 = U5G.H7v("://gpx-api-dev-e-us-w-wa.azurewebsites.net/", c3);

    function j3(T3, A7) {
        var Y3, Q7, v7;
        Y3 = "&sessionToken=" + T3["sessionToken"] + "&sid=" + T3["sid"] + "&pid=" + T3['pid'] + "&gid=" + T3['gid'] + "&did=" + T3['did'] + "&st=" + T3['st'] + "&gt=" + T3['gt'];
        Q7 = function() {
            if ('gameTimer' == T3["e"]) {
                return "&t=" + T3["timer"] + function() {
                    var H7;
                    H7 = "";
                    if (!0 === T3["userVars"]['logged'])
                        for (var k7 in T3["userVars"]) {
                            H7 += '&' + k7 + '=' + encodeURIComponent(T3["userVars"][k7]);
                        }
                    return H7;
                }();
            }
            return "";
        }();
        v7 = 'e=' + T3['e'] + Y3 + Q7 + '&timestamp=' + Date["now"]();
        U5G.U7v(U5G.s5G()[15][24]);
        J3['call'](U5G.O7v("track", u3), {
            method: 'GET',
            params: v7
        }, function(b7) {
            return A7("success" == b7['status'] ? b7 : b7);
        });
    }

    function I3(p3, r3) {
        var R3, W3;
        R3 = function() {
            try {
                return window["self"] !== window["top"];
            } catch (F3) {
                return !0;
            }
        }();
        W3 = window["location"] != window["parent"]["location"] ? document["referrer"] : document['location']["href"];
        J3['call']('https://gpxtest.table.core.windows.net/cookie(PartitionKey='1',RowKey='' + p3["token"] + "')?tn=cookie&sv=2015-02-21&st=2015-11-30T16%3A35%3A10Z&se=2016-07-01T16%3A35%3A10Z&sp=au&sig=xOrJrQHd9n2GCPlSPJ9o30QaI%2FJmjavb%2FNzPPEnUYTc%3D", {
        method: 'PUT',
            body: {
            ua: window['navigator']['userAgent'],
                gid: p3['gid'],
                sid: p3["sid"],
                cookie: p3['cookie'],
                device: p3["device"],
                referrer: W3,
                iframe: R3
        }
    }, function(Z3) {
        r3(Z3);
    });
}

function x3(i3, y3, q3) {
    q3('VOTATO');
}

function S3(M3, l3, K3) {
    var t3;
    t3 = "token=" + M3 + '&sid=' + l3 + "&timestamp=" + Date["now"]();
    window["location"]['hostname'] && 'gpxtest.blob.core.windows.net' === window["location"]['hostname'] && (u3 = w3);
    U5G.z7v(U5G.s5G()[12][30]);
    J3['call'](U5G.H7v('session', u3), {
        method: 'GET',
        params: t3
    }, function(U3) {
        return K3("success" == U3["status"] ? U3 : U3);
    });
}

function C3(D3, O3, m3) {
    J3["call"](D3, {
        method: O3["method"],
        body: {
            localStorage: JSON['stringify'](GamePix["localStorage"]["internal_storage"])
        }
    }, function(o3) {
        m3(o3);
    });
}
return {
    session: S3,
    score: B3,
    track: j3,
    vote: x3,
    saveCookie: I3
};
});
GamePix["define"]('configLib', ["utils"], function(f7) {
    var h7, g7, X7;
    h7 = {
        test: L7(),
        adsTimeWindow: function(P7) {
            return 15e3;
        },
        adTest: "&adtest=on",
        adTimePreroll: 15,
        adTimeMidroll: 15
    };
    g7 = {
        test: L7(),
        adsTimeWindow: function(G7) {
            return 60;
        },
        adTest: "",
        adTimePreroll: 15,
        adTimeMidroll: 15
    };
    X7 = {
        api_domain: function() {
            return window['location']["href"]["indexOf"]("gpxtest") > -1 ? "//gpxapitest.azurewebsites.net" : "//games.gamepix.com";
        }(),
        fb_app_id: function() {
            return window["location"]["href"]["indexOf"]("gpxtest") > -1 ? '1525509071082588' : "1592213177694234";
        }(),
        fb_app_id_v1: function() {
            return window["location"]['href']["indexOf"]('gpxtest') > -1 ? "1525509071082588" : "1496105060689656";
        }(),
        fb_version: 'v2.3',
        fb_version_v1: "v2.4",
        domain_for_fb_app: function() {
            return window['location']['href']["indexOf"]("gpxtest") > -1 ? 'gpxtest.blob.core.windows.net' : 'cdn.gamepix.com';
        }(),
        first_local_storage_flag: "data-loaded-gamepix",
        second_local_storage_flag: "data-loaded-gamepix-middle",
        delta_time_to_save: 3e4
    };

    function L7() {
        return window['location']["href"]['indexOf']('staginggames') > -1 || window["location"]["href"]['indexOf']('gpxtest') > -1;
    }
    return {
        vars: function() {
            return L7() ? h7 : g7;
        }(),
        isTestMode: L7,
        configVars: X7,
        psms_payed_cookie_name: 'psms_payed'
    };
});
GamePix['define']('facebook', ['configLib'], function(d7) {
    var J7, u7;

    function c7(l7, K7) {
        FB["login"](function(U7) {
            l7['logRequest'] = !0;
            window['focus']();
            'connected' == U7['status'] ? (l7["id"] = U7['authResponse']['userID'],
                l7["accessToken"] = U7["authResponse"]['accessToken'],
                l7["logged"] = !0,
                E7(l7, function() {
                    K7(U7);
                })) : K7(U7);
        }, {
            scope: "public_profile,email,user_friends"
        });
    }

    function E7(B7, I7) {
        try {
            FB['api']('/me', function(t7) {
                B7["first_name"] = t7['first_name'] || null;
                B7['email'] = t7['email'] || null;
                B7["gender"] = t7["gender"] || null;
                B7["last_name"] = t7['last_name'] || null;
                B7["link"] = t7["link"] || null;
                B7["locale"] = t7["locale"] || null;
                B7['name'] = t7['name'] || null;
                B7["timezone"] = t7['timezone'] || null;
                B7["updated_time"] = t7["updated_time"] || null;
                I7 && I7();
            });
        } catch (M7) {
            I7 && I7();
        }
    }
    J7 = d7["configVars"]['fb_app_id'];
    u7 = d7['configVars']["fb_version"];

    function n7(S7) {
        var w7, C7;
        w7 = J7;
        C7 = u7;
        d7["configVars"]["fb_app_id"] = w7;
        d7['configVars']['fb_version'] = C7;
        try {
            FB['init']({
                appId: w7,
                xfbml: !0,
                status: !0,
                version: C7
            });
            FB["getLoginStatus"](function(j7) {
                S7("connected" == j7['status'] ? j7 : j7);
            });
        } catch (x7) {
            console["log"](x7["message"]);
            S7({
                status: 'error',
                message: x7['message']
            });
        }
    }
    return {
        checkIfUserIsLogged: n7,
        setFacebookMetaInfo: E7,
        facebookLoginButton: c7
    };
});
GamePix['define']("stats", ['utils'], function(D7) {
    function O7(r7, N7) {
        var V7, R7, p7, W7;
        V7 = {
            GID: N7['allVars']["gid"],
            PID: N7['allVars']['pid'],
            DID: N7['allVars']['did'],
            SID: N7["allVars"]['sid'],
            ST: N7['allVars']['st'],
            GT: N7['allVars']['gt'],
            Session_PID: N7["allVars"]['session_pid'],
            Session_GID: N7['allVars']["session_gid"],
            Session_SID: N7['allVars']["session_sid"],
            Session_DID: N7['allVars']['session_did'],
            Session_GT: N7['allVars']["session_gt"],
            Session_ST: N7['allVars']["session_st"],
            Title: N7["gameVars"]["title"],
            Featured: N7['gameVars']['featured'],
            Only_desktop: N7["gameVars"]['only_desktop'],
            Prerelease: N7["gameVars"]['prerelease'],
            Size: N7['gameVars']['size'],
            Name: N7['siteVars']['name'],
            Platform: N7['siteVars']["platform"],
            Interstitial: N7['siteVars']['interstitial'],
            ADS_Preroll: N7["siteVars"]["ads_preroll"],
            ADS_Midroll: N7['siteVars']['ads_midroll'],
            Ads_HZ: N7['siteVars']['ads_hz'],
            Cross_Promotion: N7["siteVars"]['cross_prom']
        };
        switch (r7) {
            case 'pageview':
                if ("30057" == N7['allVars']["sid"] || 'true' == D7["urlParams"]('noplaypage')) {
                    V7["event"] = "sessions_start_301";
                    dataLayerGPX["push"](V7);
                    R7 = JSON['stringify'](V7);
                    p7 = JSON["parse"](R7);
                    p7['event'] = "game_pageview";
                    dataLayerGPX['push'](p7);
                } else {
                    V7['event'] = 'game_pageview',
                        dataLayerGPX['push'](V7);
                }
                W7 = setInterval(function() {
                    appInsights && appInsights['trackEvent'] && (clearInterval(W7),
                        appInsights['trackEvent']("game_page", {
                            sid: N7["allVars"]["sid"],
                            gid: N7['allVars']['gid'],
                            pid: N7["allVars"]["pid"],
                            did: N7['allVars']["did"],
                            st: N7['allVars']["st"],
                            gt: N7['allVars']["gt"],
                            title: N7['gameVars']["title"],
                            url: D7['urlParams']("utm_source")['replace'](/(^[d-za-cA-Z_0-9]{1,}:|^)(/){0,}/, "")
                }));
                }, 100);
                break;
            case "loaded":
                V7['event'] = "game_loaded",
                    V7["Loading_Time"] = parseInt((Date['now']() - GamePix['performance']["start"]) / 1e3);
                break;
            case "adblock":
                appInsights && appInsights["trackEvent"] && appInsights["trackEvent"]("adblock", {
                    sid: N7["allVars"]['sid'],
                    gid: N7["allVars"]["gid"],
                    pid: N7['allVars']["pid"],
                    did: N7["allVars"]['did'],
                    st: N7['allVars']["st"],
                    gt: N7["allVars"]['gt'],
                    title: N7["gameVars"]['title'],
                    url: D7["urlParams"]("utm_source")['replace'](/(^[a-eh-zf-gA-Z_8-93-70-2]{1,}:|^)(/){0,}/, "")
        });
        break;
    case 'play_button':
        appInsights && appInsights["trackEvent"] && appInsights["trackEvent"]('game_play_button', {
            sid: N7['allVars']['sid'],
            gid: N7["allVars"]["gid"],
            pid: N7["allVars"]['pid'],
            did: N7['allVars']["did"],
            st: N7["allVars"]['st'],
            gt: N7["allVars"]['gt'],
            title: N7['gameVars']['title'],
            url: D7['urlParams']('utm_source')['replace'](/(^[j-mia-ew-zn-pq-vf-hA-Z_0-23-78-9][a-zA-Z_6-90-5]{0,}:|^)(/){0,}/, "")
    });
        break;
    case 'played':
        V7["event"] = 'game_played',
            dataLayerGPX["push"](V7),
        appInsights && appInsights["trackEvent"] && appInsights["trackEvent"]('game_played', {
            sid: N7['allVars']["sid"],
            gid: N7['allVars']["gid"],
            pid: N7["allVars"]['pid'],
            did: N7["allVars"]["did"],
            st: N7["allVars"]['st'],
            gt: N7["allVars"]["gt"],
            title: N7['gameVars']['title'],
            url: D7['urlParams']('utm_source')['replace'](/(^[h-za-cd-gA-Z_0-56-9]{1,}:|^)(/){0,}/, "")
    }),
        o7(N7),
            setTimeout(function() {
                console['log']("game_played_5_min");
                appInsights['trackEvent']("game_played_5_min", {
                    sid: N7["allVars"]["sid"],
                    gid: N7["allVars"]['gid'],
                    pid: N7["allVars"]['pid'],
                    did: N7["allVars"]["did"],
                    st: N7['allVars']['st'],
                    gt: N7['allVars']['gt'],
                    title: N7['gameVars']["title"],
                    url: D7["urlParams"]("utm_source")['replace'](/(^[b-za-aG-ZA-F_4-90-3]{1,}:|^)(/){0,}/, ""),
                fpm: GamePix["performance"]["fpm"] || 0
            });
            }, 3e5);
    }
    }

    function o7(a7) {
        var e7;
        e7 = [120, 300, 600, 1200];
        setTimeout(function() {
            console['log']("FB" + e7[0] / 60);
            fbq("trackCustom", "Engagement", {
                minutes: e7[0] / 60,
                gid: a7["allVars"]["gid"],
                sid: a7["allVars"]['sid']
            });
        }, 1e3 * e7[0]);
        setTimeout(function() {
            console['log']('FB' + e7[1] / 60);
            fbq("trackCustom", "Engagement", {
                minutes: e7[1] / 60,
                gid: a7['allVars']['gid'],
                sid: a7["allVars"]["sid"]
            });
        }, 1e3 * e7[1]);
        setTimeout(function() {
            console["log"]('FB' + e7[2] / 60);
            fbq('trackCustom', "Engagement", {
                minutes: e7[2] / 60,
                gid: a7['allVars']["gid"],
                sid: a7['allVars']["sid"]
            });
        }, 1e3 * e7[2]);
        setTimeout(function() {
            console["log"]("FB" + e7[3] / 60);
            fbq('trackCustom', 'Engagement', {
                minutes: e7[3] / 60,
                gid: a7['allVars']["gid"],
                sid: a7["allVars"]['sid']
            });
        }, 1e3 * e7[3]);
    }

    function m7(z7, s7) {
        "gamePlayed" == z7 && (console["log"]("GP"),
            O7('played', s7));
    }
    return {
        start: O7,
        sendEventToApi: m7
    };
});
GamePix["define"]("loadingScoreManager", ["serverApi", "configLib", 'stats'], function(q7, T7, k9) {
    var v9, A9, Z7, i7, F7;

    function Y7(g9, X9) {
        g9["sendAnalytics"];
        q7['score'](Q4aa.H7v("/score/", Z7, Q4aa.z7v(Q4aa.q5G()[0][21])), {
            method: "GET",
            id: g9["id"],
            gid: g9["gid"],
            accessToken: g9["accessToken"]
        }, function(P9) {
            var G9;
            if (console["log"]('GET RESULT', P9),
            "error" == P9["status"]) {
                !0 === g9['sendScore'] && y7(g9),
                    X9({
                        status: "error"
                    });
            } else {
                G9 = JSON['parse'](JSON['parse'](P9["data"])['localStorage']);
                for (var f9 in G9) {
                    localStorage['removeItem'](f9),
                        localStorage["setItem"](f9, G9[f9]);
                }
                X9({
                    status: "success"
                });
            }
        });
    }

    function y7(d9) {
        !0 === F7 && (F7 = !1,
            q7["score"](Z7 + '/', {
                method: 'PUT',
                id: d9["id"],
                gid: d9["gid"],
                accessToken: d9['accessToken']
            }, function(E9) {
                console['log'](E9);
            }));
        setTimeout(function() {
            F7 = !0;
        }, i7);
    }

    function Q9(J9, u9) {
        v9 = J9;
        A9 = u9;
    }
    Z7 = T7['configVars']['api_domain'];
    i7 = T7['configVars']["delta_time_to_save"];
    F7 = !0;

    function H9(b9, L9) {
        Q4aa.z7v(Q4aa.s5G()[27][0]);
        q7["score"](Q4aa.H7v("/score/", Z7), {
            method: 'GET',
            id: b9["id"],
            gid: b9['gid'],
            accessToken: b9["accessToken"]
        }, function(h9) {
            L9("error" == h9["status"] ? {
                status: 'error'
            } : {
                status: 'success'
            });
        });
    }
    return {
        getScoreWithFacebook: Y7,
        sendScore: y7,
        getTokenForThePUT: H9,
        assingGlobalVarFromSession: Q9
    };
});
GamePix['define']("gameSession", ['utils', "serverApi", "facebook", "loadingScoreManager"], function(j9, o9, a9, K9) {
    var n9, x9, C9, w9, B9, S9, M9, l9, U9, I9, t9;
    n9 = {
        gid: null,
        did: null,
        sid: null,
        pid: null,
        st: null,
        gt: null,
        session_gid: null,
        session_did: null,
        session_sid: null,
        session_pid: null,
        session_st: null,
        session_gt: null,
        grid: null,
        srid: null,
        token: null,
        sofa: null
    };
    x9 = {
        levelReached: 0,
        bestScore: 0,
        actualScore: 0,
        losedTimes: 0,
        levelPassedTimes: 0,
        seconds: 0,
        adsViews: 0,
        adsWindow: 'busy',
        gameLoaded: !1,
        gamePlayed: !1,
        gameCrossPromotion: !1,
        upvote: !1,
        sessionTokenFlag: !1,
        loadedAfterFirstFacebookLogin: !1,
        timer: 0,
        playPageUrl: null,
        fbShared: !1
    };
    C9 = {
        gid: null,
        url: null,
        title: null,
        description: null,
        thumbnailUrl: null,
        orientation: null,
        supportApi: null,
        numberOfPingBeforeLogin: 1,
        facebookSupport: !1,
        preroll_tag: "",
        midroll_tag: "",
        featured: null,
        only_desktop: null,
        prerelease: null,
        size: null,
        htp: null,
        custom_hook: !1
    };
    w9 = {
        name: null,
        platform: null,
        ads_preroll: null,
        ads_midroll: null,
        second_ads_call: null,
        ads_competition: null,
        ui: null,
        custom_api: null,
        custom_logo: null,
        custom_script: null,
        interstitial: null,
        ads_hz: 8e4,
        app_inst: null,
        social: null,
        cross_prom: null,
        gamepix_brand: null,
        privacy_policy: null,
        fortumo_ui_seconds: 60
    };
    B9 = {
        gid: null,
        title: null
    };
    S9 = {
        first_name: null,
        id: null,
        accessToken: null,
        logged: !1,
        logRequest: !1,
        photo: null,
        email: null,
        gender: null,
        last_name: null,
        link: null,
        locale: null,
        name: null,
        timezone: null,
        updated_time: null,
        token_for_business: null,
        cookieSupport: j9["checkCookie"](),
        country_code: null,
        vg5_logged: !1
    };
    M9 = 1500;
    l9 = document["getElementById"]("gpxlib")['getAttribute']('data-gid');
    U9 = document["getElementById"]("gpxlib")['getAttribute']("data-api");
    I9 = j9['urlParams']("sid");
    t9 = j9['urlParams']("token");

    function s9(b8) {
        b8["length"] > 0 && b8["forEach"](function(L8) {
            GamePix['requirejs']([L8]);
        });
    }

    function z9() {
        setInterval(function() {
            x9['seconds'] = parseInt(x9["seconds"]) + 1;
        }, 1e3);
    }

    function m9() {
        for (var h8 in x9) {
            console["log"](h8 + x9[h8]);
        }
    }

    function c9(g8, X8) {
        return null === g8 || 'null' == g8 || "undefined" == g8 || void 0 === g8 ? X8 : g8;
    }

    function O9(N9) {
        t9 ? o9['session'](t9, I9, function(F9) {
            var W9, R9, p9, V9, y9, q9, r9, Z9, i9;
            if ('error' != JSON['parse'](F9['data'])["status"]) {
                W9 = JSON['parse'](F9['data']);
                R9 = W9['data']["vars"];
                p9 = W9["data"]["game"];
                V9 = W9["data"]["site"];
                y9 = W9['data']['userInfo'];
                q9 = {};
                x9['playPageUrl'] = W9['data']['playPageUrl'] + document["location"]['hash'];
                n9["did"] = c9(R9['did'], "1");
                n9['gid'] = c9(R9["gid"], '1');
                n9["grid"] = c9(R9['grid'], '5042703850');
                n9['pid'] = c9(R9["pid"], '1');
                n9['sid'] = c9(R9["sid"], "1");
                n9['srid'] = c9(R9["srid"], '6519437057');
                n9["st"] = c9(R9["st"], 0);
                n9["gt"] = c9(R9['gt'], 0);
                n9["session_did"] = n9["did"];
                n9["session_gid"] = n9["gid"];
                n9['session_grid'] = n9['grid'];
                n9['session_pid'] = n9['pid'];
                n9['session_sid'] = n9['sid'];
                n9['session_srid'] = n9['srid'];
                n9['session_st'] = n9["st"];
                n9["session_gt"] = n9['gt'];
                n9['sofa'] = c9(Boolean(R9["sofa"]), !1);
                n9['token'] = c9(t9, 'token_error');
                C9["gid"] = n9['gid'];
                C9['title'] = c9(p9['title'], "2048");
                C9['description'] = c9(p9["description"], "Play this amazing game!");
                C9['thumbnailUrl'] = c9(p9["thumbnailUrl"], '//az680633.vo.msecnd.net/thumbnail/1/250/1.png');
                C9["orientation"] = c9(p9['orientation'], "default");
                Q4aa.z7v(Q4aa.s5G()[1][4]);
                C9['supportApi'] = Q4aa.O7v('no', U9);
                C9['numberOfPingBeforeLogin'] = c9(p9["numberOfPingBeforeLogin"], 1);
                C9["preroll_tag"] = c9(atob(p9['preroll_tag']), "https://pubads.g.doubleclick.net/gampad/ads?sz=400x300|640x480&iu=/267139556/HTML5-SOFA&impl=s&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=[referrer_url]&description_url=[description_url]&correlator=[timestamp]");
                C9['midroll_tag'] = c9(atob(p9["midroll_tag"]), 'https://pubads.g.doubleclick.net/gampad/ads?sz=400x300|640x480&iu=/267139556/HTML5-SOFA&impl=s&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=[referrer_url]&description_url=[description_url]&correlator=[timestamp]');
                C9["featured"] = c9(p9["featured"], !1);
                C9["only_desktop"] = c9(p9['only_desktop'], !1);
                C9["prerelease"] = c9(p9["prerelease"], !1);
                C9['size'] = c9(p9['size'], 5);
                C9['htp'] = c9(p9['htp'], !1);
                C9['custom_hook'] = c9(p9["custom_hook"], !1);
                40214 == n9['gid'] && (C9['custom_hook'] = !0);
                w9['name'] = c9(V9["name"], "not defined");
                w9["platform"] = c9(V9["platform"], 'not defined');
                w9["ads_midroll"] = c9(V9["ads_midroll"], !0);
                w9['ads_preroll'] = c9(V9['ads_preroll'], !0);
                w9["second_ads_call"] = c9(V9["second_ads_call"], !0);
                w9["ads_competition"] = c9(V9["ads_competition"], !0);
                w9["ads_hz"] = c9(1e3 * parseInt(V9['ads_hz']), 8e4);
                w9["custom_script"] = c9(V9["custom_script"], !1);
                w9["custom_logo"] = c9(V9['custom_logo'], !1);
                w9['custom_api'] = c9(V9["custom_api"], !1);
                w9["app_inst"] = c9(V9["app_inst"], !1);
                w9["social"] = c9(V9['social'], !1);
                w9['cross_prom'] = c9(V9['cross_prom'], !1);
                w9['interstitial'] = c9(V9['interstitial'], !0);
                w9["ui"] = c9(V9["ui"], !0);
                w9['gamepix_brand'] = c9(V9['gamepix_brand'], !0);
                w9['privacy_policy'] = !0;
                !0 === w9["custom_script"] && s9(["/gpxlib/ingamelib2/assets/sid/" + n9["sid"] + '/customScript_' + n9['sid'] + '.js']);
                !0 === w9['custom_logo'] && (w9["custom_logo"] = "/logo/" + n9["sid"] + "/" + n9["sid"] + ".png");
                S9['country_code'] = c9(y9['country_code']['toLowerCase'](), 'not defined');
                j9["urlParams"]("country_code") && (S9['country_code'] = j9['urlParams']('country_code')['toLowerCase']());
                B9["gid"] = c9(q9['gid'], '40155');
                B9['title'] = c9(q9['title'], 'Jelly Rock Ola');
                r9 = j9['urlParams']('utm_source');
                if (console["log"](r9, window['location']['href'], document['referrer']), (window["location"]["href"]["match"](/fb_source/) || window['location']["href"]['match'](/gameroom/) || window['location']["href"]['match'](/fb_appcenter/) || r9['match'](/gamepegasus[^\n]com/) || r9["match"](/bzuu[^\n]com[^\n]br/)) && (parent,
                    window,
                parent !== top)) {
                    return void GamePix['createUIGameError']();
                }
                if (parent !== top)
                    try {
                        appInsights["trackEvent"]('iframed_2', {
                            sid: n9['sid'],
                            gid: n9['gid'],
                            pid: n9['pid'],
                            did: n9["did"],
                            st: n9["st"],
                            gt: n9['gt'],
                            title: C9['title'],
                            url: j9['urlParams']("utm_source")['replace'](/(^[f-ko-za-el-nA-Z_1-90-0]{1,}:|^)(/){0,}/, "")
                    });
                    } catch (T9) {
                        console["log"](T9);
                    }
                if (40336 == n9['gid'] && '110770' !== n9["sid"] && '50158' !== n9["sid"] && '110653' !== n9['sid'] && "110761" !== n9["sid"]) {
                    Z9 = prompt('Please enter the password');
                    if (null === Z9 || 'Z3B4cGFjbWFu' != btoa(Z9)) {
                        return void GamePix['createUIGameError']();
                    }
                }
                GamePix['info'] = function(Q8) {
                    var Y9;
                    if (1 == Q8) {
                        Y9 = "<--------------------------------------------------------->\n# SID: " + n9["sid"] + ' | GID: ' + n9["gid"] + " # \n*---------------------------------------------------------*\n# PLATFORM: " + w9["platform"] + '| SOFA: ' + n9['sofa'] + ' #
                            *---------------------------------------------------------*
                            # ST: ' + n9['st'] + '| GT: ' + n9['gt'] + ' #
                        *---------------------------------------------------------*
                        # PRER: ' + w9["ads_preroll"] + "| INTERSTITIAL: " + w9["interstitial"] + " | MIDR: " + w9['ads_midroll'] + ' | UI: ' + w9["ui"] + " # \n*---------------------------------------------------------*\n# APP_INST: " + w9["app_inst"] + " | CROSS_P: " + w9['cross_prom'] + " | SOCIAL: " + w9['social'] + ' #
                        *---------------------------------------------------------*
                        # C_API: ' + w9["custom_api"] + " | C_SCR: " + w9["custom_script"] + ' | C_LOGO: ' + w9["custom_logo"] + ' | A_TIME: ' + w9["ads_hz"] + " # \n*---------------------------------------------------------*\n# GAME_NUM_BEFORE_LOGIN: " + C9["numberOfPingBeforeLogin"] + " | GAME_FB_SUPPORT: " + C9['facebookSupport'] + " # \n*---------------------------------------------------------*\n# USER_ID: " + S9['id'] + " | USER_NAME: " + S9['name'] + " | USER_LOGGED: " + S9["logged"] + ' | USER_LOG_REQ: ' + S9["logRequest"] + ' | COOKIE: ' + S9["cookieSupport"] + ' #
                        *---------------------------------------------------------*
                        # IN_GAME_VARS_TIMER: ' + x9["timer"] + " | SESSION_TOKEN: " + n9['token'] + " # \n*---------------------------------------------------------*\n# LOCAL_STORAGE: " + j9['localStorage']() + " | WEB_GL: " + j9["webgl"]() + ' #
                        *---------------------------------------------------------*
                        # XP_G_ID: ' + B9['gid'] + ' | XP_G_TIT: ' + B9["title"] + " # \n*---------------------------------------------------------*\n# PRIVACY POLICY: " + w9['privacy_policy'] + ' #
                        <--------------------------------------------------------->
                        ';
                        Q4aa.U7v(Q4aa.s5G()[7][18]);
                        return console['log'](Q4aa.H7v(Y9, "%c"), "background-color: #0d82ff; color: black; font-weight:bold;");
                    }
                    GamePix["info"] = function() {
                        return console['log']("v: 1.2.3");
                    };
                };
                i9 = j9['extractQueryStringHash']();
                return i9["gamepixdebug"] && "true" == i9['gamepixdebug'] && GamePix["info"](1),
                    z9(),
                    fbq('init', "179436435735262"),
                    fbq('track', 'PageView'),
                    K9['assingGlobalVarFromSession'](n9, S9),
                    N9(n9);
            }
            console["log"]('REDIRECT - SERVER RESPONSE ERROR', JSON['parse'](F9['data']));
            setTimeout(function() {
                return j9['redirect'](l9, I9);
            }, M9);
        }) : (console['log']('REDIRECT - NO TOKEN'),
            setTimeout(function() {
                return j9['redirect'](l9, I9);
            }, M9));
    }

    function D9(v8) {
        'gamepix.blob.core.windows.net' != window['location']['hostname'] && "az680633.vo.msecnd.net" != window['location']["hostname"] && '30166' != I9 || (C9['facebookSupport'] = !1);
        O9(function(A8) {
            v8(A8);
        });
    }

    function e9(H8) {
        'connected' == H8['status'] && K9["getScoreWithFacebook"]({
            id: S9['id'],
            gid: n9['gid'],
            accessToken: S9["accessToken"]
        }, function(k8) {
            "success" == k8["status"] && (localStorage["setItem"]("flag_reload", 'true'),
                localStorage["setItem"]('session_token', n9['token']),
                localStorage["setItem"]("normalized_timing", x9['timer']),
                x9['playPageUrl'] ? location["replace"](x9['playPageUrl']) : location['reload'](!0));
        });
    }
    return {
        startSession: D9,
        allVars: n9,
        inGameVars: x9,
        getInGameVars: m9,
        gameVars: C9,
        siteVars: w9,
        crossPromotionGame: B9,
        userVars: S9,
        manageFacebookLoginAtTheBegin: e9
    };
});
GamePix["define"]('tool4adv', [], function() {
    function f8() {
        var P8, G8;
        P8 = (document["getElementById"]("gamepix_10_external-container"),
            document["getElementById"]('_adOverlay'));
        G8 = document['getElementById']('contentElement');
        P8 && P8['remove']();
        G8 && G8['remove']();
    }
    return Element['prototype']["remove"] = function() {
        null !== this["parentElement"] && this['parentElement']['removeChild'](this);
    },
        NodeList['prototype']["remove"] = HTMLCollection['prototype']['remove'] = function() {
            for (var d8 = 0, E8 = this['length']; d8 < E8; d8++) {
                this[d8] && this[d8]['parentElement'] && this[d8]['parentElement']["removeChild"](this[d8]);
            }
        }, {
        stop: f8
    };
});
GamePix["define"]('ima4gamepix_sperimental', ['configLib', 'tool4adv', 'utils'], function(z8, x8, S8) {
    var I8, J8, j8, T8, M8, D8, N8, O8, w8, u8, Z8, Q6, i8, y8, Y8, C8, v6, a8, W8, B8, K8, l8, m8, F8, r8, A6, U8, p8, c8, n8, o8, s8, R8;

    function g6() {
        T8 = new google['ima']['AdDisplayContainer'](document["getElementById"]("adContainer"), I8);
    }

    function t8(i6) {
        var m6, Q5, v5, O6, z6, F6, r6, a6, R6, s6, V6, q6, y6, T6, N6, Z6, e6, Y6;
        m6 = i6["getAd"]();
        switch (console["log"](i6['type']),
            i6['type']) {
            case google["ima"]["AdEvent"]['Type']["IMPRESSION"]:
                console["log"]('AD IMPRESSION');
                break;
            case google["ima"]['AdEvent']['Type']["AD_ERROR"]:
                clearInterval(D8),
                    x8["stop"](),
                    C8({
                        status: "error5",
                        message: 'generic error'
                    });
                break;
            case google["ima"]['AdEvent']['Type']["LOADED"]:
                if (console["log"]("AD LOADED", m6, m6['getContentType']()),
                    o8 = !1,
                '1px' != m6["getTitle"]()) {
                    document['getElementById']('gamepix_10_external-container') && (document['getElementById']("_adOverlay")['style']["backgroundColor"] = "black");
                }
                Q5 = document['getElementById']("overlayWaiting");
                Q5 && Q5["remove"]();
                v5 = document['getElementById']('gamepix_10_game_info');
                null !== v5 && v5["style"]['setProperty']('display', "none", "important");
                O6 = document['getElementById']('adContainer');
                O6['style']['width'] = c8 + "px",
                    O6["style"]["height"] = n8 + 'px',
                    O6["style"]['top'] = '50%',
                    O6["style"]['left'] = "50%",
                    O6['style']['marginLeft'] = -1 * c8 / 2 + 'px',
                    O6['style']['marginTop'] = -1 * n8 / 2 + "px",
                    O6['childNodes'][0]["style"]['width'] = c8 + "px",
                    O6['childNodes'][0]['style']["height"] = n8 + 'px',
                    O6['childNodes'][0]["childNodes"][0]["style"]["width"] = c8 + "px",
                    O6["childNodes"][0]["childNodes"][0]['style']["height"] = n8 + "px",
                O6["childNodes"][0]["childNodes"][1] && (O6['childNodes'][0]['childNodes'][1]['style']["width"] = c8 + "px",
                    O6['childNodes'][0]["childNodes"][1]['style']["height"] = n8 + "px");
                z6 = document["createElement"]("p");
                z6['id'] = 'messageWaitingSeconds_',
                    z6["style"]['zIndex'] = '3',
                    z6['style']['height'] = '21px',
                    z6["style"]["color"] = 'white',
                    z6['style']['fontFamily'] = "Fredoka One",
                    z6["style"]['position'] = 'relative',
                    z6['style']["top"] = "0px",
                    z6['style']["left"] = "0px",
                    z6["style"]['width'] = "100%";
                F6 = 32,
                    r6 = 2;
                if (window['innerWidth'] >= window['innerHeight'] && (F6 = 55,
                    r6 = 1,
                navigator["userAgent"]["match"](/android/i) && !navigator['userAgent']["match"](/mobile/i) && (F6 = 32,
                    r6 = 2)),
                'application/javascript' == m6['getContentType']() || m6['getContentType']()["match"](/video/)) {
                    a6 = document["getElementsByTagName"]("video");
                    R6 = document['getElementsByTagName']('iframe');
                    for (var o6 in a6) {
                        void 0 !== a6[o6]['style'] && (a6[o6]["style"]["left"] = "0%",
                        "0px" == a6[o6]["style"]['width'] && (console["log"]('width VPAID video a 0px <----> FIX '),
                            a6[o6]['className'] = ' VPAIDvideoFix',
                            a6[o6]['style']["width"] = c8 + "px",
                            a6[o6]['style']["width"] = c8 + "px",
                            a6[o6]["style"]['height'] = n8 + 'px'));
                    }
                    for (var W6 in R6) {
                        void 0 !== R6[W6]['src'] && R6[W6]["src"]["match"](/imasdk[^\n]googleapis[^\n]com/js/core/bridge/gi) && (console["log"]('iframe da resizare trovato'),
                            R6[W6]['style']["position"] = 'fixed',
                            R6[W6]['style']["top"] = '0px',
                            R6[W6]['style']["left"] = "0px");
                    }
                }
                if (m6['getContentType']()["match"](/video/)) {
                    s6 = document['getElementsByTagName']('video');
                    if (navigator['userAgent']['match'](/iPad/i) || navigator['userAgent']["match"](/iPhone/i) || navigator["userAgent"]["match"](/iPod/i)) {
                        for (var o6 in s6) {
                            "contentElement" == s6[o6]["id"] && (s6[o6]["setAttribute"]('poster', '/gpxlib/ingamelib2/assets/img/PLAY-btn_2.png'),
                            navigator['userAgent']["match"](/iPad/i) && s6[o6]["setAttribute"]('poster', '/gpxlib/ingamelib2/assets/img/PLAY-btn_IPAD.png'),
                                s6[o6]["style"]["position"] = "",
                                s6[o6]['setAttribute']("autoplay", ""),
                                document['getElementById']('adContainer')['style']['display'] = 'none',
                            "ar" != GamePix["lang"]() && 'fa' != GamePix['lang']() && "eg" != GamePix["lang"]() || z6["setAttribute"]('dir', 'rtl'),
                                O6['style']['marginTop'] = -1 * n8 / r6 + F6 + "px");
                        }
                        if (I8) {
                            V6 = I8;
                            q6 = function() {
                                V6["play"]();
                            };
                            V6["addEventListener"]('touchend', q6, !1);
                            V6["addEventListener"]("ended", function() {
                                V6["removeEventListener"]('touchend', q6, !1);
                            });
                            V6['addEventListener']("pause", function() {
                                V6 && V6['setAttribute']("controls", "");
                            });
                        }
                    } else if (navigator["userAgent"]['match'](/android/i)) {
                        z6["style"]['position'] = 'fixed';
                        z6['style']['zIndex'] = "100";
                        for (var p6 in s6) {
                            'Advertisement' == s6[p6]['title'] && ('preroll' == w8 && !0 === v6 ? (s6[p6]["setAttribute"]("autoplay", ""),
                                s6[p6]["setAttribute"]('poster', '/gpxlib/ingamelib2/assets/img/clessidra.png')) : s6[p6]["setAttribute"]('poster', "/gpxlib/ingamelib2/assets/img/PLAY-btn_2.png"),
                                s6[p6]['style']['position'] = "",
                                O6['style']["marginTop"] = -1 * n8 / r6 + F6 + "px",
                                s6[p6]['id'] = 'AdvertisementVideoAndroid');
                        }
                        null !== document["getElementById"]('AdvertisementVideoAndroid') && document['getElementById']('AdvertisementVideoAndroid')['addEventListener']("touchend", function() {
                            document["getElementById"]("AdvertisementVideoAndroid")['play']();
                            setTimeout(function() {
                                document['getElementById']("AdvertisementVideoAndroid")["play"]();
                            }, 1e3);
                        });
                    } else {
                        document["getElementById"]("adContainer")['style']['position'] = 'fixed';
                    }
                } else {
                    document['getElementById']("_content")['remove']();
                }
                O6['style']['top'] = "0%",
                    O6["style"]["marginTop"] = '0px',
                    document['getElementById']('mainContainer')['insertBefore'](z6, document['getElementById']('mainContainer')['childNodes'][0]),
                m6["getContentType"]()['match'](/image/) && 'GDFP' == m6['getAdSystem']() && (0 !== m6['getWidth']() && (c8 = m6['getWidth']()),
                0 !== m6["getHeight"]() && (n8 = m6["getHeight"]()),
                    O6['style']['position'] = 'fixed',
                    O6['style']['width'] = c8 + "px",
                    O6["style"]["height"] = n8 + 'px',
                    O6['style']['top'] = "50%",
                    O6['style']['marginTop'] = -1 * n8 / 2 + 'px',
                    O6["style"]['left'] = '50%',
                    O6['style']["marginLeft"] = -1 * c8 / 2 + 'px',
                    O6['childNodes'][0]["style"]["width"] = c8 + 'px',
                    O6['childNodes'][0]['style']['height'] = n8 + "px",
                    O6["childNodes"][0]['childNodes'][0]['style']['width'] = c8 + 'px',
                    O6['childNodes'][0]['childNodes'][0]['style']['height'] = n8 + "px");
                break;
            case google["ima"]['AdEvent']["Type"]['STARTED']:
                if (console["log"]('AD STARTED', "Linear:" + m6["isLinear"](), m6["g"], O8),
                "CATS VIDEO" === m6['g']['title']) {
                    y6 = function() {
                        try {
                            window["open"](m6['g']['clickThroughUrl'], "_blank");
                        } catch (A5) {}
                        document['getElementById']("_adOverlay")['removeEventListener']('click', y6, !1);
                    };
                    document['getElementById']("_adOverlay")["addEventListener"]('click', y6, !1);
                }
                if (!1 === O8) {
                    O8 = !0;
                    clearInterval(D8);
                    document['getElementById']("messageWaitingSeconds_") && document["getElementById"]("messageWaitingSeconds_")['remove']();
                    document["getElementById"]('Safari11CloneAdContainer') && document['getElementById']('Safari11CloneAdContainer')['remove']();
                    T6 = document["getElementById"]('mainContainer');
                    N6 = document['createElement']("p");
                    if (N6["id"] = 'closeLabel_',
                        N6["style"]["zIndex"] = "4",
                        N6['style']["height"] = '21px',
                        N6['style']["color"] = "white",
                        N6['style']['fontFamily'] = "Fredoka One",
                        T6["insertBefore"](N6, T6['childNodes'][0]),
                        m6["getContentType"]()['match'](/video/))
                        if (null !== document['getElementById']("AdvertisementVideoAndroid")) {
                            Z6 = document['getElementById']('AdvertisementVideoAndroid');
                            Z6["parentNode"]['style']["display"] = "inline";
                            Z6["parentNode"]["style"]['position'] = "absolute";
                            Z6['parentNode']["style"]['left'] = "0px";
                        } else {
                            (navigator['userAgent']['match'](/iPad/i) || navigator["userAgent"]["match"](/windows phone/i)) && (document['getElementById']('adContainer')["style"]["display"] = "");
                        }
                    if ("application/javascript" == m6["getContentType"]()) {
                        e6 = document['getElementsByClassName']('VPAIDvideoFix')[0];
                        void 0 === e6 && null === e6 || (B8 = function() {
                            document[K8] ? e6['pause']() : e6['play']();
                        },
                        void 0 === document['addEventListener'] || void 0 === document[K8] || document['addEventListener'](l8, B8, !1));
                    }
                    if (m6["isLinear"]()) {
                        M8 = setInterval(function() {
                            var H5;
                            H5 = parseInt(J8["getRemainingTime"]());
                            U8--;
                            H5 <= 0 && U8 <= 0 ? clearInterval(M8) : (-1 == H5 && (H5 = U8),
                                N6['textContent'] = "");
                        }, 1e3);
                    } else {
                        Y6 = 0;
                        M8 = setInterval(function() {
                            var k5;
                            Q4aa.z7v(Q4aa.s5G()[23][22]);
                            k5 = Q4aa.H7v(Y6, U8);
                            if (0 === k5 || k5 < 0) {
                                clearInterval(M8);
                                try {
                                    j8["contentComplete"]();
                                    J8["destroy"]();
                                } catch (b5) {
                                    console["log"](b5["message"]);
                                }
                                x8['stop']();
                                C8({
                                    status: 'success',
                                    message: "non linear ads timer is expired"
                                });
                            } else {
                                N6['textContent'] = F8 + parseInt(k5) + A6,
                                    Y6++;
                            }
                        }, 1e3);
                    }
                }
                break;
            case google["ima"]["AdEvent"]["Type"]["COMPLETE"]:
                m6['getContentType']()["match"](/video/) && (null !== document['getElementById']("AdvertisementVideoAndroid") || navigator["userAgent"]['match'](/iPad/i) || navigator['userAgent']["match"](/windows phone/i)) && (document["removeEventListener"](l8, B8, !1),
                        B8 = function() {}
                ),
                "application/javascript" == m6["getContentType"]() && (null === document['getElementsByClassName']('VPAIDvideoFix')[0] && void 0 === document["getElementsByClassName"]('VPAIDvideoFix')[0] || (console['log']("remove listener"),
                        document["removeEventListener"](l8, B8, !1),
                        B8 = function() {}
                )),
                    console['log']("AD COMPLETE"),
                    clearInterval(M8),
                    o8 = !0,
                    setTimeout(function() {
                        try {
                            j8['contentComplete']();
                            J8['destroy']();
                        } catch (L5) {
                            console['log'](L5["message"]);
                        }
                        x8["stop"]();
                        C8({
                            status: 'success',
                            message: "linear video player has completed the execution"
                        });
                    }, 1500);
                break;
            case google['ima']["AdEvent"]['Type']["ALL_ADS_COMPLETED"]:
                if (console['log']("ALL ADs COMPLETE"), !o8) {
                    try {
                        (null !== document["getElementById"]("AdvertisementVideoAndroid") || navigator["userAgent"]['match'](/iPad/i) || navigator['userAgent']["match"](/windows phone/i)) && (document["removeEventListener"](l8, B8, !1),
                                B8 = function() {}
                        );
                        null === document['getElementsByClassName']("VPAIDvideoFix")[0] && void 0 === document['getElementsByClassName']('VPAIDvideoFix')[0] || (console['log']('remove listener'),
                                document["removeEventListener"](l8, B8, !1),
                                B8 = function() {}
                        );
                    } catch (g5) {}
                    console["log"]("forced exit");
                    clearInterval(M8);
                    setTimeout(function() {
                        try {
                            j8['contentComplete']();
                            J8["destroy"]();
                        } catch (X5) {
                            console["log"](X5['message']);
                        }
                        x8['stop']();
                        C8({
                            status: 'success',
                            message: 'linear video player has completed the execution'
                        });
                    }, 2e3);
                }
                break;
            case google['ima']["AdEvent"]['Type']["USER_CLOSE"]:
                if (clearInterval(M8),
                    N8) {
                    x8["stop"](N8, function() {
                        C8({
                            status: 'success',
                            message: "user has closed the ads with x"
                        });
                    });
                } else {
                    try {
                        j8["contentComplete"]();
                        J8['destroy']();
                    } catch (f5) {
                        console["log"](f5['message']);
                    }
                    x8["stop"]();
                    C8({
                        status: "success",
                        message: "user has closed the ads with x"
                    });
                }
                break;
            case google['ima']['AdEvent']["Type"]["SKIPPED"]:
                if (clearInterval(M8),
                    N8) {
                    x8["stop"](N8, function() {
                        C8({
                            status: "success",
                            message: "user has SKIPPED the video"
                        });
                    });
                } else {
                    try {
                        j8["contentComplete"]();
                        J8['destroy']();
                    } catch (P5) {
                        console["log"](P5["message"]);
                    }
                    x8['stop']();
                    C8({
                        status: "success",
                        message: "user has SKIPPED the video"
                    });
                }
                break;
            case google["ima"]["AdEvent"]["Type"]["CLICK"]:
                if (m6['getContentType']()["match"](/video/) && (console["log"]('sono in un video ed ho cliccato'),
                null !== document["getElementById"]('AdvertisementVideoAndroid') || navigator['userAgent']['match'](/iPad/i) || navigator["userAgent"]['match'](/windows phone/i))) {
                    e6 = null !== document['getElementById']("AdvertisementVideoAndroid") ? document['getElementById']("AdvertisementVideoAndroid") : document['getElementById']("contentElement");
                    B8 = function() {
                        document[K8] ? e6['pause']() : e6["play"]();
                    };
                    void 0 === document['addEventListener'] || void 0 === document[K8] || document['addEventListener'](l8, B8, !1);
                }
                try {
                    m6["getTitle"]() != "640*480 250px " + u8["gid"] + ' Creative' && m6["getTitle"]() != "400x300 250px " + u8["gid"] + " creative" || (C8 = function() {
                        console['log']("PLAY ON VG5.com");
                    });
                } catch (G5) {
                    console["log"](G5['message']);
                }
        }
    }

    function b6(D5) {
        var U5;
        U5 = new google["ima"]['AdsRenderingSettings']();
        U5['enablePreloading'] = !0;
        U5['loadVideoTimeout'] = 6e4;
        U5['autoAlign'] = !0;
        U5['useStyledLinearAds'] = !0;
        U5['useStyledNonLinearAds'] = !0;
        J8 = D5["getAdsManager"](I8, U5);
        J8["addEventListener"](google["ima"]["AdErrorEvent"]["Type"]['AD_ERROR'], q8);
        J8["addEventListener"](google["ima"]["AdError"]["ErrorCode"], q8);
        J8['addEventListener'](google["ima"]["AdEvent"]["Type"]['CONTENT_PAUSE_REQUESTED'], d6);
        J8["addEventListener"](google['ima']['AdEvent']["Type"]['CONTENT_RESUME_REQUESTED'], G6);
        J8["addEventListener"](google["ima"]['AdEvent']['Type']['PAUSED'], P6);
        J8['addEventListener'](google['ima']["AdEvent"]['Type']["RESUMED"], X6);
        J8["addEventListener"](google['ima']['AdEvent']["Type"]['ALL_ADS_COMPLETED'], t8);
        J8["addEventListener"](google['ima']['AdEvent']['Type']["IMPRESSION"], t8);
        J8['addEventListener'](google['ima']["AdEvent"]['Type']['LOADED'], t8);
        J8["addEventListener"](google['ima']['AdEvent']['Type']['STARTED'], t8);
        J8["addEventListener"](google["ima"]["AdEvent"]["Type"]['COMPLETE'], t8);
        J8['addEventListener'](google['ima']["AdEvent"]['Type']["USER_CLOSE"], t8);
        J8['addEventListener'](google['ima']['AdEvent']['Type']['SKIPPED'], t8);
        J8["addEventListener"](google['ima']["AdEvent"]["Type"]['CLICK'], t8);
        J8["addEventListener"](google["ima"]["AdEvent"]['Type']["VAST_PROBLEM_DISPLAYING_MEDIA_FILE"], t8);
        J8['addEventListener'](google['ima']["AdEvent"]['Type']['UNKNOWN_ERROR'], t8);
        try {
            console["log"]("IMA SDK - ", a8);
            J8['init'](c8, n8, google["ima"]['ViewMode']["NORMAL"]);
            a8 ? J8['start']() : (W8 = function() {
                J8['start']();
            },
                C8({
                    status: "async_ads_ready",
                    message: 'startTheAd correctly saved'
                }));
        } catch (O5) {
            clearInterval(D8);
            x8["stop"]();
            C8({
                status: "error4",
                message: O5
            });
        }
    }

    function E6(l6) {
        var R5G = Q4aa;
        var K6, I6, t6, U6, M6, D6, B6;
        if (null === document['getElementById']("_adOverlay")) {
            K6 = !1 === l6 ? ' display: none;' : "";
            R5G.z7v(R5G.q5G()[29][8]);
            I6 = e8("_adOverlay", R5G.H7v('1 !important; text-align: center;', ' position: fixed; width:100%; height:100%; top:0%; left:0%; z-index: ', zIndexGamepix, K6));
            'preroll' === w8 ? I6['style']["height"] = n8 + 'px' : I6["style"]["backgroundColor"] = "black";
            t6 = e8("mainContainer", ' position: absolute; width:100%; height:100%; min-height:350px; top:0%; left:0%; z-index:2; text-align:center;');
            I6['appendChild'](t6);
            U6 = "preroll" === w8 ? 'relative' : "absolute";
            R5G.z7v(R5G.q5G()[30][27]);
            M6 = e8('_content', R5G.O7v(U6, " width:100%; height:100%; position:"));
            t6["appendChild"](M6);
            D6 = e8('adContainer', " width:100%; height:100%; z-index:3; position: absolute;");
            t6['appendChild'](D6);
            B6 = document['createElement']('video');
            B6["id"] = "contentElement";
            B6['setAttribute']('poster', '/gpxlib/ingamelib2/assets/img/PLAY-btn_3.png');
            B6["style"]["position"] = 'relative';
            R5G.z7v(R5G.s5G()[31][3]);
            B6["style"]['width'] = R5G.O7v("px", c8);
            R5G.U7v(R5G.s5G()[13][6]);
            B6["style"]["height"] = R5G.H7v('px', n8);
            M6["appendChild"](B6);
            I8 = B6;
            document['body']["appendChild"](I6);
            l6 && k6();
        }
    }

    function J6(V5, p5) {
        w8 = V5['type'];
        u8 = V5["allVars"];
        i8 = V5["gameVars"];
        C8 = p5;
        Z8 = V5['errorToSend'];
        Q6 = V5["adsViews"];
        y8 = V5['ads_competition'];
        Y8 = V5['isFirstCall'];
        O8 = !1;
        v6 = V5['interstitial'];
        a8 = V5['initializeAdAndPlay'];
        GamePix["settings"]['isMobile']() ? (google['ima']['settings']['setVpaidMode'](google["ima"]['ImaSdkSettings']['VpaidMode']['ENABLED']),
            google['ima']["settings"]['setDisableCustomPlaybackForIOS10Plus'](!0)) : navigator['userAgent']['match'](/Edge//) || s8 ? google["ima"]["settings"]['setVpaidMode'](google["ima"]['ImaSdkSettings']['VpaidMode']["DISABLED"]) : google['ima']["settings"]['setVpaidMode'](google["ima"]["ImaSdkSettings"]["VpaidMode"]["INSECURE"]);
        "enabled" == S8["urlParams"]("vpaid") ? (console["log"]("VPAID ENABLED"),
            google['ima']['settings']['setVpaidMode'](google['ima']['ImaSdkSettings']["VpaidMode"]["ENABLED"])) : "insecure" == S8['urlParams']("vpaid") && google['ima']["settings"]['setVpaidMode'](google["ima"]['ImaSdkSettings']['VpaidMode']['INSECURE']);
        google["ima"]["settings"]["setLocale"](GamePix['lang']());
        google["ima"]["settings"]["setNumRedirects"](16);
        google['ima']["settings"]["setDisableFlashAds"](!0);
        U8 = 'preroll' === w8 ? z8["vars"]["adTimePreroll"] : z8["vars"]["adTimeMidroll"];
        c8 = V5["width"] ? window["innerWidth"] : parseInt(.95 * window["innerWidth"]);
        n8 = V5['height'] ? parseInt(window["innerHeight"]) : parseInt(window['innerHeight']) - 102;
        "preroll" == w8 && (F8 = GamePix['text']('text_id_ads_1'),
            c8 = window["innerWidth"],
            n8 = parseInt(window['innerHeight']) - 2 - document["getElementById"]('gamepix_10_loader_container')['getBoundingClientRect']()["height"]);
        E6(a8);
        L6();
    }

    function k6() {
        var z5, o5, m5, s5, e5, a5;
        z5 = document["createElement"]('style');
        document["head"]["appendChild"](z5);
        z5["innerHTML"] = '.spinner{position:relative; top:40%; margin:0 auto 0;width:70px;text-align:center}.spinner>div{width:15px;height:15px;background-color:#fff;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.spinner .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.spinner .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes bouncedelay{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes bouncedelay{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}';
        o5 = document['getElementById']('mainContainer');
        null === o5 && (o5 = document["body"]);
        m5 = document['createElement']("div");
        m5['setAttribute']('class', 'spinner');
        m5["id"] = 'overlayWaiting';
        s5 = document['createElement']("div");
        s5['setAttribute']("class", "bounce1");
        e5 = document["createElement"]("div");
        e5["setAttribute"]('class', "bounce2");
        a5 = document['createElement']('div');
        a5['setAttribute']('class', "bounce3");
        m5["appendChild"](s5);
        m5["appendChild"](e5);
        m5['appendChild'](a5);
        o5['appendChild'](m5);
        D8 = setInterval(function() {
            if (0 === --p8) {
                clearInterval(D8);
                try {
                    j8["contentComplete"]();
                    J8["destroy"]();
                } catch (N5) {
                    console['log'](N5["message"]);
                }
                x8["stop"]();
                C8({
                    status: 'error3',
                    message: 'the response time is taking too much time (up then ' + p8 + ' s )'
                });
            }
        }, 1e3);
    }

    function V8() {
        j8["contentComplete"]();
    }

    function u6() {
        var S6, C6;
        if (s8 && null == document["getElementById"]("Safari11CloneAdContainer")) {
            S6 = document['getElementById']("adContainer")["style"]['cssText'];
            C6 = document["createElement"]('div');
            C6["id"] = "Safari11CloneAdContainer";
            C6['style'] = S6;
            C6['style']['backgroundImage'] = 'url('/gpxlib/ingamelib2/assets/img/PLAY-btn_2.png')';
            C6["style"]['backgroundPosition'] = "center";
            C6["style"]["backgroundRepeat"] = 'no-repeat';
            C6['style']['pointerEvents'] = 'none';
            document['getElementById']('adContainer')["parentNode"]["appendChild"](C6);
        }
    }

    function d6() {
        I8["removeEventListener"]('ended', V8);
        I8['pause']();
    }
    m8 = z8['vars']['adTest'];
    F8 = GamePix["text"]("text_id_ads_2");
    r8 = "video_image_text_flash";
    A6 = 's';
    U8 = z8['vars']["adTimePreroll"];
    p8 = 25;
    c8 = 300;
    n8 = 250;
    o8 = !1;
    s8 = function() {
        return !!navigator["userAgent"]["match"](/Version/11(.[0-9]{0,}){0,}? Safari/i);
    }();
    R8 = function() {
        try {
            return window['self'] !== window['top'];
        } catch (R5) {
            return !0;
        }
    }();

    function G6() {
        I8['addEventListener']('ended', V8);
        I8['play']();
    }

    function e8(w6, c6) {
        var n6;
        n6 = document['createElement']("div");
        return n6["id"] = w6,
        void 0 !== c6 && n6['setAttribute']("style", c6),
            n6;
    }

    function X6() {
        console["log"]('Resumed');
        s8 && O8 && (console['log']('resumed safari11'),
            I8["volume"] = 1,
            I8["muted"] = !1,
        document["getElementById"]("Safari11CloneAdContainer") && document['getElementById']("Safari11CloneAdContainer")["remove"]());
    }

    function H6(j6) {
        var x6;
        x6 = j6['adTag'];
        if ("90261" != j6["sid"] || !1 !== j6['sofa']) {
            return x6;
        }
        if (!(parseInt(100 * Math["random"]()) <= 49)) {
            return x6;
        }
        console["log"]('%cBM_AD', "background: #222; color: #bada55");
        return !0 === j6["test"] && j6["adTest"],
            'preroll' == j6["type"] ? "https://googleads.g.doubleclick.net/pagead/ads?client=ca-games-pub-7861983699960151&slotname=5134719924&ad_type=video_image_flash&description_url=http%3A%2F%2Fconnectedgamestore.com&max_ad_duration=15000&videoad_start_delay=0" + j6['adTest'] : 'midroll' == j6['type'] ? 'https://googleads.g.doubleclick.net/pagead/ads?client=ca-games-pub-7861983699960151&slotname=6611427804&ad_type=video_image_flash&description_url=http%3A%2F%2Fconnectedgamestore.com&max_ad_duration=15000&videoad_start_delay=0' + j6["adTest"] : void 0;
    }

    function q8(E5) {
        var d5;
        d5 = E5["getError"]();
        if (void 0 === J8) {
            clearInterval(D8),
                clearInterval(M8),
                x8["stop"](),
                C8({
                    status: 'error1',
                    message: d5
                });
        } else {
            try {
                j8["contentComplete"]();
                J8["destroy"]();
            } catch (J5) {
                console["log"](J5["message"]);
            }
            clearInterval(D8);
            clearInterval(M8);
            x8["stop"]();
            C8({
                status: "error2",
                message: d5
            });
        }
    }

    function f6() {
        J8['resize'](window['innerWidth'], window["innerHeight"], google['ima']["ViewMode"]["NORMAL"]);
        "function" == typeof W8 ? (document['getElementById']("_adOverlay")['style']['display'] = 'block',
            W8()) : (console['log']('Something went wrong'),
            C8({
                status: "error6",
                message: "startTheAd doesn't start"
            }));
    }

    function P6() {
        console['log']("Paused");
        u6();
    }

    function L6() {
        var c5, u5, n5, j5, K5, w5, B5, C5, l5, t5, x5, I5, M5, S5;
        g6();
        T8["initialize"]();
        j8 = new google['ima']["AdsLoader"](T8);
        j8['addEventListener'](google['ima']['AdsManagerLoadedEvent']["Type"]["ADS_MANAGER_LOADED"], b6, !1);
        j8["addEventListener"](google["ima"]['AdErrorEvent']['Type']['AD_ERROR'], q8, !1);
        I8['addEventListener']("ended", V8);
        c5 = new google["ima"]['AdsRequest']();
        u5 = "";
        n5 = "1";
        switch ('on' == S8["urlParams"]('dfp') ? n5 = "1" : 'on' == S8['urlParams']('adx') ? n5 = "0" : "on" == S8["urlParams"]('video') ? n5 = '8' : 'on' == S8["urlParams"]("vpaidjs") ? n5 = '9' : 'on' == S8['urlParams']('vpaidinsecure') ? n5 = "10" : 'on' == S8["urlParams"]('vpaidclio') ? n5 = "11" : "on" == S8["urlParams"]("text") ? (n5 = "2",
            r8 = 'text') : "on" == S8['urlParams']("vetrya") && (n5 = '7'),
        "on" == S8["urlParams"]('sofa') && (u8['sofa'] = !0),
        "on" == S8["urlParams"]('pixel') && (n5 = "5"),
        'adsense' == Z8 && (n5 = '2'),
            n5) {
            case '5':
                u5 = "https://pubads.g.doubleclick.net/gampad/ads?sz=1x1&iu=/267139556/269246036&impl=s&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=[referrer_url]&description_url=[description_url]&correlator=" + Date["now"]() + "&cust_params=sid%3D999999999%26gid%3D6";
                break;
            case "2":
                j5 = "";
                if ('preroll' === w8) {
                    j5 += '6124945459+' + u8['srid'];
                } else if ("midroll" == w8) {
                    K5 = "30166" == u8['sid'] ? '+4335534255' : "";
                    j5 += '7601678658+' + u8["grid"] + K5;
                }
                w5 = "https://googleads.g.doubleclick.net/pagead/ads?ad_type=" + r8 + '&client=ca-games-pub-8435989769185680&videoad_start_delay=0&description_url=' + encodeURIComponent('http://games.gamepix.com/gameinfo/' + u8['gid']) + '&max_ad_duration=' + U8 + "000" + m8 + "&channel=" + j5;
                u5 = H6({
                    type: w8,
                    sid: u8["sid"],
                    adTag: w5,
                    adTest: m8
                }),
                    console['log'](w8, u5);
                break;
            case "1":
                B5 = 'game_preroll',
                    C5 = "",
                    l5 = '%26test%3D' + window['_gpxABtest_'];
                "midroll" === w8 && (B5 = 'game_midroll',
                    C5 = '%26adn%3D' + Q6['toString']());
                t5 = 'sid%3D' + u8["sid"] + "%26gid%3D" + u8["gid"] + C5;
                !0 === u8['sofa'] && (t5 = 'sofa%3D1'),
                    w5 = "https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/267139556/" + B5 + '&impl=s&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=' + encodeURIComponent(window["location"]["origin"]) + '&description_url=' + encodeURIComponent("http://games.gamepix.com/gameinfo/" + u8["gid"]) + '&correlator=' + Date['now']() + '&cust_params=' + t5;
                x5 = "%26competition%3D" + y8 + '%26secondcall%3Dfalse',
                    I5 = "%26ifr%3D" + R8;
                !1 === Y8 && (x5 = '%26competition%3D' + y8 + "%26secondcall%3Dtrue%26errorcode%3D" + Z8);
                M5 = 'sid%3D' + u8['sid'] + "%26gid%3D" + u8['gid'] + C5 + x5 + I5 + l5;
                !0 === u8["sofa"] && (M5 = 'sofa%3D1' + C5 + x5 + I5),
                    w5 = 'preroll' === w8 ? w5 = i8['preroll_tag'] : i8['midroll_tag'];
                S5 = "";
                window["innerWidth"] < 470 && (S5 = '&ad_type=video_image_flash'),
                30166 == u8["sid"] && 40253 == u8["gid"] && (console["log"]('miniclip KOT'),
                    S5 = '&ad_type=skippablevideo_image_text'),
                navigator['userAgent']["match"](/iPhone/i) && (S5 = '&ad_type=standardvideo_image'),
                    w5 = w5["replace"]('[referrer_url]', encodeURIComponent(window["location"]['origin']))["replace"]('[description_url]', encodeURIComponent("http://games.gamepix.com/gameinfo/" + u8['gid']))["replace"]("[timestamp]", Date['now']()) + S5,
                    w5 += '&cust_params=' + M5,
                    u5 = H6({
                        type: w8,
                        sid: u8['sid'],
                        adTag: w5,
                        adTest: m8,
                        sofa: u8["sofa"],
                        gid: u8["gid"],
                        did: u8['did'],
                        adn: C5
                    }),
                    console["log"]('DFP', 'iframe:' + R8, w8, u5);
                break;
            case "0":
                "preroll" === w8 ? u5 = "https://googleads.g.doubleclick.net/pagead/ads?client=ca-games-pub-5285623249468085&slotname=9057607611&ad_type=video_image_flash&description_url=" + encodeURIComponent('http://games.gamepix.com/gameinfo/' + u8['gid']) + '&max_ad_duration=30000&videoad_start_delay=0' : "midroll" === w8 && (u5 = "https://googleads.g.doubleclick.net/pagead/ads?client=ca-games-pub-5285623249468085&slotname=1534315491&ad_type=video_image_flash&description_url=" + encodeURIComponent("http://games.gamepix.com/gameinfo/" + u8["gid"]) + '&max_ad_duration=30000&videoad_start_delay=0'),
                    console["log"]("ADX", w8, u5);
                break;
            case '7':
                u5 = "https://pubads.g.doubleclick.net/gampad/ads?sz=640x480|400x300&iu=/144246328/Gamepix_Test&impl=s&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=[referrer_url]&description_url=[description_url]&correlator=" + Date['now']() + '&cust_params=sid%3Dtest321%26gid%3Dtestgid',
                    console['log']("Vetrya", w8, u8["gid"], u8['sid'], u5);
                break;
            case '8':
                u5 = 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=';
                break;
            case "9":
                u5 = "https://platform.mediamind.com/Sizmek.QAPlayer/assets/defaults/html5-vpaid-linear.xml";
                break;
            case "10":
                u5 = 'https://fw.adsafeprotected.com/vast/fwjsvid/st/82265/14548198/skeleton.js?originalVast=https://ad.doubleclick.net/ddm/pfadx/N3707.271047SMARTCLIP/B11305322.150532183;sz=0x0;ord=1920967758;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;dcmt=text/xml';
                break;
            case "11":
                u5 = "https://ad.sxp.smartclip.net/select?type=dyn&ple=vetryagamesyndication.html5.it.smartclip~~400x320&cu_smar_cors=1&smar_cors=1&fwd_dt1=&fwd_dt2=&fwd_sz=400x320&&rnd=1721415761";
                break;
            case 'empty':
                u5 = "https://pubads.g.doubleclick.net/gampad/ads?sz=400x300%7C640x480&iu=/267139556/test-23-11-2016&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&url=%5Breferrer_url%5D&description_url=%5Bdescription_url%5D&correlator=%5Btimestamp%5D";
        }
        c5['adTagUrl'] = u5;
        c5["linearAdSlotWidth"] = c8;
        c5["linearAdSlotHeight"] = n8;
        c5['nonLinearAdSlotWidth'] = c8;
        c5["nonLinearAdSlotHeight"] = n8;
        c5['forceNonLinearFullSlot'] = !0;
        c5['setAdWillAutoPlay'](!0);
        c5["setAdWillPlayMuted"](!1);
        j8["requestAds"](c5);
    }
    return void 0 !== document["hidden"] ? (K8 = 'hidden',
        l8 = "visibilitychange") : void 0 !== document['mozHidden'] ? (K8 = "mozHidden",
        l8 = 'mozvisibilitychange') : void 0 !== document['msHidden'] ? (K8 = 'msHidden',
        l8 = "msvisibilitychange") : void 0 !== document["webkitHidden"] && (K8 = 'webkitHidden',
        l8 = "webkitvisibilitychange"), {
        initAndPlay: J6,
        playTheAds: f6
    };
});
GamePix["define"]("ads", ['ima4gamepix_sperimental', 'gameSession'], function(b1, q5) {
    var L1, i5, Q1, Y5, Z5, F5, y5, T5, v1, H1, W5, A1;
    Y5 = !0;
    Z5 = !1;
    F5 = !1;
    y5 = 2e4;
    T5 = 4;
    v1 = q5["gameVars"];
    H1 = q5['allVars'];
    W5 = q5["siteVars"];
    A1 = q5['inGameVars'];

    function r5(P1) {
        var G1, d1, E1;
        G1 = 0 === P1['adCallNumber'];
        d1 = 2 === P1['adCallNumber'] ? "adsense" : "null";
        E1 = !0 === P1['async'] ? "midroll" : P1['type'];
        b1["initAndPlay"]({
            width: window["innerWidth"],
            height: window["innerHeight"],
            allVars: H1,
            gameVars: v1,
            adsViews: A1['adsViews'],
            ads_competition: W5["ads_competition"],
            isFirstCall: G1,
            errorToSend: d1,
            intertitial: W5["interstitial"],
            type: E1,
            initializeAdAndPlay: P1['initializeAdAndPlay']
        }, function(J1) {
            var n1, c1;
            console["log"]('res: ' + (parseInt(P1['adCallNumber']) + 1), J1);
            n1 = !!J1["status"]['match'](/error/);
            c1 = 'error1' == J1['status'] || 'error2' == J1["status"];
            if (!P1['async']) {
                return P1["adCallNumber"]++, !0 === W5['second_ads_call'] && !0 === c1 && P1['adCallNumber'] < 3 ? r5(P1) : i5(J1);
            }
            if ("async_ads_ready" === J1["status"]) {
                if (Z5 = !1,
                'function' == typeof Q1) {
                    return Q1(),
                        void(Q1 = void 0);
                }
            } else {
                if ('success' === J1['status']) {
                    return console["log"]('oppure che sono tornato correttamente dall'adv'),
                    setTimeout(function() {
                        console["log"]("asyncAdInit", 'inizializzo l'ad da mostrare dopo midroll');
                        r5({
                            adCallNumber: 0,
                            initializeAdAndPlay: !1,
                            async: !0
                        });
                    }, parseInt(W5["ads_hz"]) - y5),
                        i5(J1);
                }
                if (P1["adCallNumber"]++, !0 === W5["second_ads_call"] && !0 === c1 && P1["adCallNumber"] < 3 && !1 === F5) {
                    return r5(P1);
                }
                if (!0 === n1 && (P1['adCallNumber'] > 2 || !1 === W5["second_ads_call"]) && (console["log"]('qui può capitare che ho superato le 3 chiamate e non ho avuto ads. CAP:' + T5),
                T5 > 0 && (T5--,
                    setTimeout(function() {
                        r5({
                            adCallNumber: 0,
                            initializeAdAndPlay: !1,
                            async: !0
                        });
                    }, y5))),
                n1 && F5) {
                    return console['log']("qui ci devo entrare quando ho un errore durante la riproduzione"),
                        r5({
                            adCallNumber: P1['adCallNumber'],
                            initializeAdAndPlay: !0,
                            async: !0
                        });
                }
                console["log"]('err_async_response');
            }
        });
    }

    function f1(w1, C1) {
        if ("80214" == w1["sessionObject"]['sid'] && "40253" == w1['gameObject']['gid']) {
            return C1({
                response: "Kizi Patch"
            });
        }
        (L1 = function(j1, S1) {
            !0 === Y5 ? (console["log"]("FLUSSO INIT & PLAY 2"),
                Y5 = !1,
                i5 = function(B1) {
                    return Z5 = !0,
                        setTimeout(function() {
                            console["log"]("asyncAdInit", 'inizializzo l'ad da mostrare dopo il preroll');
                            r5({
                                adCallNumber: 0,
                                initializeAdAndPlay: !1,
                                async: !0
                            });
                        }, parseInt(W5['ads_hz']) - y5),
                        F5 = !1,
                        S1(B1);
                },
                F5 = !0,
                r5({
                    adCallNumber: 0,
                    type: j1['type'],
                    initializeAdAndPlay: !0,
                    async: !1
                })) : (console["log"]('FLUSSO PLAY NOW'),
                    F5 = !0,
                    b1['playTheAds'](),
                    i5 = function(I1) {
                        return Z5 = !0,
                            F5 = !1,
                            S1(I1);
                    }
            );
        })(w1, C1);
    }

    function X1() {
        return Z5;
    }
    return {
        giveMeAd: f1,
        isAdBusy: X1
    };
});
GamePix['define']('ui', ['utils', "configLib", 'stats'], function(z1, m1, a1) {
    var K1, t1, l1, O1, D1, M1, o1;

    function e1() {
        return this['loadingDiv'] = document['createElement']("div"),
            this['loadingDiv']["style"]["cssText"] = 'z-index: ' + zIndexGamepix + ' !important;position: fixed;top: 0;left: 0;right: 0;bottom: 0;background: rgba(20,60,109,.9) url("/gpxlib/ingamelib2/assets/img/loading.gif") center center no-repeat;background-size: 100px 50px;',
            document['body']['appendChild'](this["loadingDiv"]),
            this['delete'] = function() {
                document['body']["removeChild"](this['loadingDiv']);
            },
            this;
    }

    function s1(F1, Z1, q1) {
        M1 || (M1 = !0,
            K1 = new e1(),
            U1(F1, function() {
                var i1, Q0, T1, v0, A0, Y1, H0;
                o1 = F1;
                i1 = window !== parent ? "i" : "f";
                Q0 = "?sid=" + F1['allVars']['sid'] + '&utm_source=' + z1["urlParams"]('utm_source') + "&utm_medium=" + i1 + "&utm_campaign=";
                t1 = function(k0) {
                    window["focus"]();
                    document['getElementById']('uiMenu')["remove"]();
                    M1 = !1;
                    q1(k0);
                };
                T1 = document['getElementById']("uiMenu");
                v0 = void 0 !== F1["temp"] ? F1['temp']["message"] : void 0;
                A0 = void 0 !== F1['temp'] ? F1["temp"]["button"] : void 0;
                Y1 = {
                    allVars: F1['allVars'],
                    inGameVars: F1["inGameVars"],
                    gameVars: F1['gameVars'],
                    siteVars: F1["siteVars"],
                    userVars: F1['userVars'],
                    crossPromotionGame: F1["crossPromotionGame"],
                    message: v0,
                    button: A0
                };
                Y1["allVars"]['clientID'] = function() {
                    try {
                        return gaGPX["getAll"]()[0]['get']('linkerParam');
                    } catch (b0) {
                        return "_qa=null";
                    }
                }();
                H0 = setInterval(function() {
                    !0 === T1["contentWindow"]["readyToReceiveMessage"] && (K1['delete'](),
                        clearInterval(H0),
                        T1["contentWindow"]["postMessage"]({
                            session: Y1,
                            type: Z1,
                            utmMedium: i1,
                            pathCrossPromotion: Q0,
                            language: GamePix["lang"]()
                        }, window["location"]["href"]),
                        document['getElementById']("uiMenu")["style"]['display'] = "");
                }, 100);
            }));
    }
    l1 = window["addEventListener"] ? "addEventListener" : "attachEvent";
    O1 = window[l1];
    D1 = 'attachEvent' == l1 ? "onmessage" : 'message';
    M1 = !1;
    o1 = {};

    function U1(V1, R1) {
        var N1, W1;
        N1 = document["createElement"]('iframe');
        N1["id"] = 'uiMenu';
        N1['style']['height'] = window['innerHeight'] + "px";
        N1['style']['width'] = window['innerWidth'] + "px";
        window['addEventListener']('resize', function() {
            N1['style']['height'] = window["innerHeight"] + 'px';
            N1["style"]['width'] = window["innerWidth"] + "px";
        }, !1);
        N1['style']["position"] = 'fixed';
        N1["style"]['display'] = "none";
        Q4aa.U7v(Q4aa.s5G()[2][6]);
        N1["style"]["zIndex"] = Q4aa.O7v(1, zIndexGamepix);
        N1["src"] = '/gpxlib/ingamelib2/modules/ui/ui.html?fbAppId=' + m1["configVars"]['fb_app_id'] + "&fbVersion=" + m1['configVars']["fb_version"] + "&gid=" + V1["allVars"]['gid'] + '&sid=' + V1["allVars"]["sid"] + '&logged=' + V1["userVars"]['logged'] + "&htp=" + V1['gameVars']['htp'];
        N1["setAttribute"]('frameborder', "0");
        N1["setAttribute"]("seamless", "seamless");
        N1['setAttribute']("name", window['location']["href"]);
        N1["style"]['top'] = '0%';
        N1['style']['left'] = '0%';
        void 0 !== R1 && (N1['onload'] = function() {
            var r1;
            r1 = setInterval(function() {
                void 0 !== N1["contentWindow"]["document"] && (clearInterval(r1),
                    R1());
            }, 100);
        });
        W1 = setInterval(function() {
            document["getElementsByTagName"]("body")[0] && (clearInterval(W1),
                document["getElementsByTagName"]('body')[0]["appendChild"](N1));
        }, 30);
    }
    return O1(D1, function(L0) {
        var h0;
        switch (L0["data"]['type']) {
            case 'continue':
                document["getElementById"]('uiMenu')["style"]["display"] = "none",
                    void 0 !== L0['data']["response"] ? t1(L0['data']["response"]) : t1();
                break;
            case "video":
                document['getElementById']("uiMenu")["style"]["display"] = 'none',
                    t1(L0['data']["status"]);
                break;
            case 'upvote':
                document["getElementById"]("uiMenu")["style"]["display"] = "none",
                    t1(L0["data"]['vote']);
                break;
            case 'xp':
                window["location"]['replace'](L0["data"]['url']);
                break;
            case "login":
                document['getElementById']("uiMenu")['style']['display'] = "none",
                    t1(L0["data"]['response']);
                break;
            case "analytics_psms":
                h0 = new CustomEvent('fortumo_ui_event', {
                    detail: L0['data']['response']
                });
                window["dispatchEvent"](h0);
                break;
            case 'more_games_custom':
                window["parent"]["postMessage"]({
                    type: 'click_more_games'
                }, window['name']);
        }
    }, !1), {
        talkWithUI: s1,
        loadMenuUI: U1
    };
});
GamePix['define']("rotateManager", ["gameSession"], function(E0) {
    var X0, d0, f0, P0, G0, u0, n0, J0;
    d0 = E0["allVars"];
    f0 = E0['gameVars'];
    P0 = !1;
    G0 = null;
    u0 = !0;
    n0 = new RegExp(/Android|iPhone|iPad|iPod|webOS|BlackBerry|IEMobile|Opera Mini/i);
    J0 = RegExp(/Tablet|iPad/i);

    function c0() {
        g0();
        setTimeout(function() {
            g0();
        }, 3e3);
        window["addEventListener"]('resize', function() {
            g0();
        }, !0);
    }

    function w0(C0) {
        return n0['test'](navigator["userAgent"]) && (P0 = !0), !0 === u0 && !0 === P0 ? (X0 = document["getElementById"]('gamepix_10_external-container'),
            c0(),
            C0(!0)) : C0(!1);
    }

    function g0() {
        G0 = window["innerHeight"] > window["innerWidth"] ? 'portrait' : "landscape";
        !0 === J0["test"](navigator["userAgent"]) && "40271" == d0['gid'] && (f0["orientation"] = "landscape");
        f0['orientation'] == G0 ? X0['style']['setProperty']("display", "none", 'important') : X0['style']["setProperty"]("display", "block", "important");
    }
    return {
        checkOrientation: w0
    };
});
GamePix['define']('hammer', [], function() {
    "use strict";
    var O5G = Q4aa;
    var O0, o4a, T4a, Y4a, a0, z0, b4a, w4a, X2a, f2a, e4a, C4a, N4a, V4a, p4a, j0, o0, S0, x0, v4a, r0, R0, i0, F0, l0, s0, O4a, m4a, y0, k2a, b2a, L2a, h2a, g2a, z4a, s4a, P2a, G2a, d2a, E2a, J2a, l4a, K4a, u4a, g4a, N0, T0, Y0, Q4a, I0, V0, U0, K0, p0;

    function P4a(S3a) {
        return Array['prototype']["slice"]['call'](S3a, 0);
    }
    o4a = ["", "webkit", 'Moz', 'MS', "ms", "o"];
    T4a = document["createElement"]('div');
    Y4a = 'function';
    a0 = Math['round'];
    z0 = Math["abs"];
    b4a = Date["now"];

    function j4a() {
        M0["apply"](this, arguments);
    }

    function I4a() {
        this['evEl'] = z4a;
        this["evWin"] = s4a;
        t0["apply"](this, arguments);
        this["store"] = this["manager"]['session']["pointerEvents"] = [];
    }

    function X4a(s3a, O3a) {
        for (var m3a, o3a, z3a = O3a[0]['toUpperCase']() + O3a['slice'](1), D3a = 0; D3a < o4a['length'];) {
            if (m3a = o4a[D3a], (o3a = m3a ? m3a + z3a : O3a) in s3a) {
                return o3a;
            }
            D3a++;
        }
    }

    function U4a(Q3a, v3a) {
        return typeof Q3a == Y4a ? Q3a["apply"](v3a ? v3a[0] || void 0 : void 0, v3a) : Q3a;
    }
    O0 = "function" != typeof Object["assign"] ? function(Z9a) {
        var W9a;
        if (void 0 === Z9a || null === Z9a) {
            throw new TypeError('Cannot convert undefined or null to object');
        }
        for (var q9a = Object(Z9a), r9a = 1; r9a < arguments['length']; r9a++) {
            W9a = arguments[r9a];
            if (void 0 !== W9a && null !== W9a)
                for (var F9a in W9a) {
                    W9a["hasOwnProperty"](F9a) && (q9a[F9a] = W9a[F9a]);
                }
        }
        return q9a;
    } : Object["assign"];
    w4a = Q2a(function(T9a, Y9a, Q8a) {
        for (var y9a = Object["keys"](Y9a), i9a = 0; i9a < y9a['length'];) {
            (!Q8a || Q8a && void 0 === T9a[y9a[i9a]]) && (T9a[y9a[i9a]] = Y9a[y9a[i9a]]),
                i9a++;
        }
        return T9a;
    }, 'extend', "Use `assign`.");
    X2a = Q2a(function(v8a, A8a) {
        return w4a(v8a, A8a, !0);
    }, 'merge', "Use `assign`.");
    f2a = 1;
    e4a = /mobile|tablet|ip(ad|hone|od)|android/i;
    O5G.U7v(O5G.q5G()[15][11]);
    C4a = O5G.H7v("ontouchstart", window);
    N4a = void 0 !== X4a(window, "PointerEvent");
    V4a = C4a && e4a["test"](navigator["userAgent"]);
    p4a = 25;
    j0 = 1;
    o0 = 2;
    S0 = 4;
    x0 = 8;
    v4a = 1;
    r0 = 2;
    R0 = 4;
    i0 = 8;
    F0 = 16;
    O5G.U7v(O5G.q5G()[3][25]);
    l0 = O5G.O7v(R0, r0);
    O5G.U7v(O5G.q5G()[2][16]);
    s0 = O5G.H7v(F0, i0);
    O5G.U7v(O5G.s5G()[30][4]);
    O4a = O5G.O7v(s0, l0);
    m4a = ["x", "y"];
    y0 = ["clientX", 'clientY'];
    t0["prototype"] = {
        handler: function() {},
        init: function() {
            this["evEl"] && E4a(this['element'], this["evEl"], this['domHandler']);
            this['evTarget'] && E4a(this["target"], this['evTarget'], this["domHandler"]);
            this['evWin'] && E4a(v2a(this["element"]), this['evWin'], this["domHandler"]);
        },
        destroy: function() {
            this['evEl'] && d4a(this["element"], this['evEl'], this["domHandler"]);
            this['evTarget'] && d4a(this['target'], this['evTarget'], this["domHandler"]);
            this['evWin'] && d4a(v2a(this["element"]), this["evWin"], this['domHandler']);
        }
    };

    function x4a() {
        M0['apply'](this, arguments);
    }

    function G4a(u3a) {
        return u3a['trim']()['split'](/[᠎​　\r\t​ \f  ​​ \v ​  -  \n﻿][᠎​　\r\t​ \f  ​​ \v ​  -  \n﻿]{0,}/g);
    }
    k2a = {
        mousedown: j0,
        mousemove: o0,
        mouseup: S0
    };
    b2a = "mousedown";
    L2a = "mousemove mouseup";

    function Z0(U9a, K9a) {
        return K9a = K9a || {},
            K9a['recognizers'] = y4a(K9a["recognizers"], Z0["defaults"]['preset']),
            new t4a(U9a, K9a);
    }

    function M2a() {
        return f2a++;
    }
    B0(H4a, t0, {
        handler: function(H8a) {
            var k8a;
            k8a = k2a[H8a["type"]];
            k8a & j0 && 0 === H8a["button"] && (this['pressed'] = !0);
            k8a & o0 && 1 !== H8a['which'] && (k8a = S0);
            this["pressed"] && this["allow"] && (k8a & S0 && (this["pressed"] = !1),
                this['callback'](this['manager'], k8a, {
                    pointers: [H8a],
                    changedPointers: [H8a],
                    pointerType: "mouse",
                    srcEvent: H8a
                }));
        }
    });

    function W0(c3a, C3a, w3a) {
        if (c3a['indexOf'] && !w3a) {
            return c3a['indexOf'](C3a);
        }
        for (var n3a = 0; n3a < c3a['length'];) {
            if (w3a && c3a[n3a][w3a] == C3a || !w3a && c3a[n3a] === C3a) {
                return n3a;
            }
            n3a++;
        }
        return -1;
    }

    function x2a(P7a, d7a) {
        var G7a, E7a, J7a, u7a;
        G7a = d7a["center"];
        E7a = P7a["offsetDelta"] || {};
        J7a = P7a['prevDelta'] || {};
        u7a = P7a['prevInput'] || {};
        d7a["eventType"] !== j0 && u7a['eventType'] !== S0 || (J7a = P7a['prevDelta'] = {
            x: u7a["deltaX"] || 0,
            y: u7a["deltaY"] || 0
        },
            E7a = P7a['offsetDelta'] = {
                x: G7a["x"],
                y: G7a['y']
            });
        d7a["deltaX"] = J7a['x'] + (G7a['x'] - E7a['x']);
        d7a["deltaY"] = J7a['y'] + (G7a["y"] - E7a['y']);
    }

    function R4a(s7a, e7a, a7a) {
        return {
            x: e7a / s7a || 0,
            y: a7a / s7a || 0
        };
    }

    function q4a(B9a) {
        return B9a & p0 ? 'cancel' : B9a & U0 ? 'end' : B9a & V0 ? "move" : B9a & I0 ? "start" : "";
    }

    function A4a() {
        m0["apply"](this, arguments);
        this['pTime'] = !1;
        this['pCenter'] = !1;
        this["_timer"] = null;
        this["_input"] = null;
        this["count"] = 0;
    }

    function m0(x9a) {
        this["options"] = O0({}, this['defaults'], x9a || {});
        this['id'] = M2a();
        this["manager"] = null;
        this['options']['enable'] = y4a(this["options"]["enable"], !0);
        this['state'] = Q4a;
        this['simultaneous'] = {};
        this['requireFail'] = [];
    }

    function C2a(v9a, A9a) {
        O5G.z7v(O5G.q5G()[18][6]);
        var F2s = O5G.O7v(1177, 8, 16, 49);
        return k4a(A9a[0], A9a[1], y0) / k4a(v9a[0], v9a[F2s], y0);
    }

    function r4a(s9a, e9a) {
        var z9a;
        z9a = s9a['element'];
        z9a["style"] && D0(s9a['options']['cssProps'], function(a9a, N9a) {
            z9a["style"][X4a(z9a['style'], N9a)] = e9a ? a9a : "";
        });
    }
    h2a = {
        pointerdown: j0,
        pointermove: o0,
        pointerup: S0,
        pointercancel: x0,
        pointerout: x0
    };
    g2a = {
        2: "touch",
        3: "pen",
        4: "mouse",
        5: 'kinect'
    };
    z4a = "pointerdown";
    s4a = 'pointermove pointerup pointercancel';

    function w2a(b9a, L9a) {
        var H9a, k9a;
        H9a = P4a(b9a['touches']);
        k9a = P4a(b9a["changedTouches"]);
        return L9a & (S0 | x0) && (H9a = Z4a(H9a['concat'](k9a), "identifier", !0)), [H9a, k9a];
    }

    function B2a(f7a, Q7a) {
        var v7a, k7a, h7a, L7a, H7a, g7a, X7a, A7a, b7a;
        v7a = f7a['session'];
        k7a = Q7a["pointers"];
        h7a = k7a["length"];
        v7a['firstInput'] || (v7a['firstInput'] = H2a(Q7a));
        h7a > 1 && !v7a["firstMultiple"] ? v7a["firstMultiple"] = H2a(Q7a) : 1 === h7a && (v7a["firstMultiple"] = !1);
        L7a = v7a["firstInput"];
        H7a = v7a["firstMultiple"];
        g7a = H7a ? H7a['center'] : L7a["center"];
        X7a = Q7a['center'] = a4a(k7a);
        Q7a['timeStamp'] = b4a();
        Q7a['deltaTime'] = Q7a['timeStamp'] - L7a['timeStamp'];
        Q7a["angle"] = J4a(g7a, X7a);
        Q7a["distance"] = k4a(g7a, X7a);
        x2a(v7a, Q7a);
        Q7a['offsetDirection'] = W4a(Q7a['deltaX'], Q7a["deltaY"]);
        A7a = R4a(Q7a["deltaTime"], Q7a["deltaX"], Q7a['deltaY']);
        Q7a["overallVelocityX"] = A7a['x'];
        Q7a["overallVelocityY"] = A7a["y"];
        Q7a['overallVelocity'] = z0(A7a['x']) > z0(A7a['y']) ? A7a['x'] : A7a["y"];
        Q7a["scale"] = H7a ? C2a(H7a["pointers"], k7a) : 1;
        Q7a['rotation'] = H7a ? S2a(H7a['pointers'], k7a) : 0;
        Q7a["maxPointers"] = v7a['prevInput'] ? Q7a["pointers"]["length"] > v7a["prevInput"]["maxPointers"] ? Q7a['pointers']['length'] : v7a["prevInput"]["maxPointers"] : Q7a['pointers']['length'];
        u2a(v7a, Q7a);
        b7a = f7a["element"];
        F4a(Q7a["srcEvent"]["target"], b7a) && (b7a = Q7a["srcEvent"]["target"]);
        Q7a['target'] = b7a;
    }
    window["MSPointerEvent"] && !window['PointerEvent'] && (z4a = 'MSPointerDown',
        s4a = 'MSPointerMove MSPointerUp MSPointerCancel');
    B0(I4a, t0, {
        handler: function(b8a) {
            var L8a, X8a, P8a, g8a, f8a, G8a, h8a;
            L8a = this["store"];
            X8a = !1;
            P8a = b8a['type']['toLowerCase']()['replace']("ms", "");
            g8a = h2a[P8a];
            f8a = g2a[b8a['pointerType']] || b8a["pointerType"];
            O5G.z7v(O5G.s5G()[23][27]);
            G8a = O5G.H7v(f8a, 'touch');
            h8a = W0(L8a, b8a['pointerId'], 'pointerId');
            g8a & j0 && (0 === b8a['button'] || G8a) ? h8a < 0 && (L8a["push"](b8a),
                h8a = L8a["length"] - 1) : g8a & (S0 | x0) && (X8a = !0);
            h8a < 0 || (L8a[h8a] = b8a,
                this["callback"](this["manager"], g8a, {
                    pointers: L8a,
                    changedPointers: [b8a],
                    pointerType: f8a,
                    srcEvent: b8a
                }),
            X8a && L8a['splice'](h8a, 1));
        }
    });

    function i4a(I9a) {
        return I9a == F0 ? 'down' : I9a == i0 ? "up" : I9a == r0 ? "left" : I9a == R0 ? 'right' : "";
    }

    function u2a(M7a, n7a) {
        var C7a, S7a, j7a, B7a, c7a, I7a, t7a, x7a, w7a;
        c7a = M7a['lastInterval'] || n7a;
        I7a = n7a['timeStamp'] - c7a["timeStamp"];
        if (n7a["eventType"] != x0 && (I7a > p4a || void 0 === c7a['velocity'])) {
            t7a = n7a["deltaX"] - c7a['deltaX'];
            x7a = n7a["deltaY"] - c7a['deltaY'];
            w7a = R4a(I7a, t7a, x7a);
            S7a = w7a["x"];
            j7a = w7a['y'];
            C7a = z0(w7a['x']) > z0(w7a["y"]) ? w7a['x'] : w7a['y'];
            B7a = W4a(t7a, x7a);
            M7a["lastInterval"] = n7a;
        } else {
            C7a = c7a["velocity"],
                S7a = c7a['velocityX'],
                j7a = c7a['velocityY'],
                B7a = c7a['direction'];
        }
        n7a['velocity'] = C7a;
        n7a["velocityX"] = S7a;
        n7a['velocityY'] = j7a;
        n7a["direction"] = B7a;
    }
    P2a = {
        touchstart: j0,
        touchmove: o0,
        touchend: S0,
        touchcancel: x0
    };
    G2a = 'touchstart';
    d2a = "touchstart touchmove touchend touchcancel";

    function e0(E3a, J3a) {
        O5G.z7v(O5G.q5G()[16][18]);
        var Z2s = O5G.O7v(4, 16, 18, 36, 6);
        return E3a["indexOf"](J3a) > Z2s;
    }

    function D0(o2a, s2a, e2a) {
        var z2a;
        if (o2a)
            if (o2a['forEach']) {
                o2a["forEach"](s2a, e2a);
            } else if (void 0 !== o2a['length'])
                for (z2a = 0; z2a < o2a["length"];) {
                    s2a["call"](e2a, o2a[z2a], z2a, o2a),
                        z2a++;
                } else
                for (z2a in o2a) {
                    o2a["hasOwnProperty"](z2a) && s2a['call'](e2a, o2a[z2a], z2a, o2a);
                }
    }

    function J4a(q7a, i7a, Z7a) {
        var y7a, T7a;
        Z7a || (Z7a = m4a);
        y7a = i7a[Z7a[0]] - q7a[Z7a[0]];
        O5G.z7v(O5G.s5G()[12][19]);
        var i2s = O5G.O7v(16, 335, 21);
        T7a = i7a[Z7a[1]] - q7a[Z7a[i2s]];
        O5G.z7v(O5G.s5G()[24][8]);
        var y2s = O5G.H7v(18, 20, 2);
        return y2s * Math['atan2'](T7a, y7a) / Math['PI'];
    }

    function I2a(Z3a, q3a, F3a) {
        var i3a, y3a, T3a, Y3a;
        i3a = F3a['pointers']['length'];
        y3a = F3a['changedPointers']["length"];
        T3a = q3a & j0 && i3a - y3a == 0;
        Y3a = q3a & (S0 | x0) && i3a - y3a == 0;
        F3a["isFirst"] = !!T3a;
        F3a['isFinal'] = !!Y3a;
        T3a && (Z3a['session'] = {});
        F3a['eventType'] = q3a;
        B2a(Z3a, F3a);
        Z3a['emit']('hammer.input', F3a);
        Z3a["recognize"](F3a);
        Z3a['session']["prevInput"] = F3a;
    }

    function F4a(G3a, d3a) {
        for (; G3a;) {
            if (G3a == d3a) {
                return !0;
            }
            G3a = G3a['parentNode'];
        }
        return !1;
    }

    function t4a(D9a, O9a) {
        this["options"] = O0({}, Z0["defaults"], O9a || {});
        this['options']['inputTarget'] = this['options']["inputTarget"] || D9a;
        this['handlers'] = {};
        this['session'] = {};
        this["recognizers"] = [];
        this["element"] = D9a;
        this['input'] = t2a(this);
        this["touchAction"] = new B4a(this, this['options']["touchAction"]);
        r4a(this, !0);
        D0(this["options"]["recognizers"], function(m9a) {
            var o9a;
            o9a = this["add"](new m9a[0](m9a[1]));
            m9a[2] && o9a['recognizeWith'](m9a[2]);
            m9a[3] && o9a['requireFailure'](m9a[3]);
        }, this);
    }

    function M4a(l2a, K2a, U2a) {
        return setTimeout(D4a(l2a, U2a), K2a);
    }

    function H4a() {
        this['evEl'] = b2a;
        this["evWin"] = L2a;
        this["allow"] = !0;
        this['pressed'] = !1;
        t0['apply'](this, arguments);
    }

    function Q2a(N2a, V2a, p2a) {
        var a2a;
        O5G.U7v(O5G.q5G()[22][19]);
        a2a = O5G.O7v(' AT
        ', p2a, V2a, "DEPRECATED METHOD: ", '
        ');
        return function() {
            var R2a, r2a, W2a;
            R2a = new Error('get-stack-trace');
            r2a = R2a && R2a['stack'] ? R2a['stack']['replace'](/^[^\(]{1,}?[\n$]/gm, "")['replace'](/^[﻿​ ​　\f -  ​\n\r\t   ​ ​ \v᠎][﻿​ ​　\f -  ​\n\r\t   ​ ​ \v᠎]{0,}at[᠎\v​　 ​ ﻿\f -  ​\t​  ​ \r \n]{1,}/gm, "")["replace"](/^Object[^\n]<anonymous>[\n᠎\t\v ​​　​   ​  ​  - ﻿\f\r]{0,}(/gm, "{anonymous}()@") : "Unknown Stack Trace";
            W2a = window["console"] && (window['console']['warn'] || window["console"]['log']);
            return W2a && W2a["call"](window["console"], a2a, r2a),
                N2a["apply"](this, arguments);
        };
    }

    function W4a(N7a, V7a) {
        return N7a === V7a ? v4a : z0(N7a) >= z0(V7a) ? N7a < 0 ? r0 : R0 : V7a < 0 ? i0 : F0;
    }

    function L4a() {
        this["evTarget"] = J2a;
        this['targetIds'] = {};
        t0['apply'](this, arguments);
    }

    function j2a(C9a) {
        var S9a, j9a;
        if (e0(C9a, N0)) {
            return N0;
        }
        S9a = e0(C9a, T0);
        j9a = e0(C9a, Y0);
        return S9a && j9a ? N0 : S9a || j9a ? S9a ? T0 : Y0 : e0(C9a, g4a) ? g4a : u4a;
    }

    function c2a(E9a, d9a) {
        var g9a, X9a, h9a, G9a, f9a, P9a, J9a;
        g9a = P4a(E9a["touches"]);
        X9a = this['targetIds'];
        if (d9a & (j0 | o0) && 1 === g9a['length']) {
            return X9a[g9a[0]["identifier"]] = !0, [g9a, g9a];
        }
        f9a = P4a(E9a['changedTouches']);
        P9a = [];
        J9a = this['target'];
        if (G9a = g9a["filter"](function(u9a) {
            return F4a(u9a["target"], J9a);
        }),
        d9a === j0)
            for (h9a = 0; h9a < G9a['length'];) {
                X9a[G9a[h9a]["identifier"]] = !0,
                    h9a++;
            }
        for (h9a = 0; h9a < f9a['length'];) {
            X9a[f9a[h9a]['identifier']] && P9a['push'](f9a[h9a]),
            d9a & (S0 | x0) && delete X9a[f9a[h9a]['identifier']],
                h9a++;
        }
        return P9a['length'] ? [Z4a(G9a['concat'](P9a), 'identifier', !0), P9a] : void 0;
    }

    function y4a(A3a, H3a) {
        return void 0 === A3a ? H3a : A3a;
    }

    function B4a(c9a, w9a) {
        this["manager"] = c9a;
        this['set'](w9a);
    }

    function t2a(W3a) {
        var r3a;
        r3a = W3a['options']["inputClass"];
        return new(r3a || (N4a ? I4a : V4a ? L4a : C4a ? n4a : H4a))(W3a, I2a);
    }
    B0(A2a, t0, {
        handler: function(J8a) {
            var d8a, E8a;
            d8a = P2a[J8a["type"]];
            if (d8a === j0 && (this['started'] = !0),
                this["started"]) {
                E8a = w2a['call'](this, J8a, d8a);
                d8a & (S0 | x0) && E8a[0]['length'] - E8a[1]["length"] == 0 && (this['started'] = !1);
                this["callback"](this["manager"], d8a, {
                    pointers: E8a[0],
                    changedPointers: E8a[1],
                    pointerType: "touch",
                    srcEvent: J8a
                });
            }
        }
    });
    E2a = {
        touchstart: j0,
        touchmove: o0,
        touchend: S0,
        touchcancel: x0
    };
    J2a = 'touchstart touchmove touchend touchcancel';

    function d4a(g3a, X3a, f3a) {
        D0(G4a(X3a), function(P3a) {
            g3a['removeEventListener'](P3a, f3a, !1);
        });
    }

    function q0(D2a, m2a, O2a) {
        return !!Array['isArray'](D2a) && (D0(D2a, O2a[m2a], O2a), !0);
    }
    B0(L4a, t0, {
        handler: function(n8a) {
            var c8a, u8a;
            c8a = E2a[n8a['type']];
            u8a = c2a['call'](this, n8a, c8a);
            u8a && this["callback"](this['manager'], c8a, {
                pointers: u8a[0],
                changedPointers: u8a[1],
                pointerType: 'touch',
                srcEvent: n8a
            });
        }
    });
    B0(n4a, t0, {
        handler: function(x8a, C8a, w8a) {
            var S8a, j8a;
            S8a = 'touch' == w8a["pointerType"];
            j8a = "mouse" == w8a['pointerType'];
            if (S8a) {
                this['mouse']["allow"] = !1;
            } else if (j8a && !this['mouse']['allow']) {
                return;
            }
            C8a & (S0 | x0) && (this["mouse"]["allow"] = !0);
            this['callback'](x8a, C8a, w8a);
        },
        destroy: function() {
            this["touch"]["destroy"]();
            this['mouse']['destroy']();
        }
    });

    function B0(q2a, y2a, i2a) {
        var F2a, Z2a;
        Z2a = y2a["prototype"];
        F2a = q2a["prototype"] = Object['create'](Z2a);
        F2a['constructor'] = q2a;
        F2a["_super"] = Z2a;
        i2a && O0(F2a, i2a);
    }

    function D4a(T2a, Y2a) {
        return function() {
            return T2a['apply'](Y2a, arguments);
        };
    }

    function h4a(M9a, l9a) {
        var t9a;
        t9a = l9a['manager'];
        return t9a ? t9a["get"](M9a) : M9a;
    }

    function A2a() {
        this['evTarget'] = G2a;
        this['evWin'] = d2a;
        this['started'] = !1;
        t0['apply'](this, arguments);
    }

    function f4a() {
        M0["apply"](this, arguments);
        this['pX'] = null;
        this['pY'] = null;
    }

    function H2a(K7a) {
        for (var U7a = [], l7a = 0; l7a < K7a['pointers']["length"];) {
            U7a[l7a] = {
                clientX: a0(K7a["pointers"][l7a]["clientX"]),
                clientY: a0(K7a["pointers"][l7a]["clientY"])
            },
                l7a++;
        }
        return {
            timeStamp: b4a(),
            pointers: U7a,
            center: a4a(U7a),
            deltaX: K7a["deltaX"],
            deltaY: K7a['deltaY']
        };
    }
    l4a = X4a(T4a["style"], 'touchAction');
    O5G.z7v(O5G.q5G()[10][27]);
    K4a = O5G.H7v(l4a, 0);
    u4a = 'auto';
    g4a = "manipulation";
    N0 = "none";
    T0 = "pan-x";
    Y0 = "pan-y";

    function n4a() {
        var n9a;
        t0["apply"](this, arguments);
        n9a = D4a(this["handler"], this);
        this['touch'] = new L4a(this["manager"], n9a);
        this['mouse'] = new H4a(this['manager'], n9a);
    }

    function k4a(r7a, F7a, p7a) {
        var R7a, W7a;
        p7a || (p7a = m4a);
        R7a = F7a[p7a[0]] - r7a[p7a[0]];
        O5G.U7v(O5G.q5G()[5][16]);
        var Y2s = O5G.O7v(2, 18, 165, 9);
        W7a = F7a[p7a[1]] - r7a[p7a[Y2s]];
        O5G.z7v(O5G.s5G()[26][10][4]);
        return Math["sqrt"](O5G.O7v(R7a, R7a, W7a, W7a));
    }

    function v2a(a3a) {
        var e3a;
        e3a = a3a['ownerDocument'] || a3a;
        return e3a["defaultView"] || e3a['parentWindow'] || window;
    }
    B4a['prototype'] = {
        set: function(B8a) {
            'compute' == B8a && (B8a = this["compute"]());
            K4a && this['manager']['element']["style"] && (this["manager"]['element']["style"][l4a] = B8a);
            this['actions'] = B8a['toLowerCase']()["trim"]();
        },
        update: function() {
            this["set"](this["manager"]['options']['touchAction']);
        },
        compute: function() {
            var I8a;
            I8a = [];
            return D0(this["manager"]['recognizers'], function(t8a) {
                U4a(t8a["options"]["enable"], [t8a]) && (I8a = I8a['concat'](t8a["getTouchAction"]()));
            }),
                j2a(I8a["join"](' '));
        },
        preventDefaults: function(M8a) {
            var U8a, D8a, l8a, K8a, O8a, m8a, z8a, s8a, o8a;
            if (!K4a) {
                U8a = M8a["srcEvent"];
                D8a = M8a["offsetDirection"];
                if (this['manager']['session']["prevented"]) {
                    return void U8a["preventDefault"]();
                }
                l8a = this['actions'];
                K8a = e0(l8a, N0);
                O8a = e0(l8a, Y0);
                m8a = e0(l8a, T0);
                if (K8a) {
                    O5G.U7v(O5G.s5G()[17][10]);
                    var Q3s = O5G.H7v(1178, 15, 8, 6, 13);
                    z8a = Q3s === M8a['pointers']['length'];
                    O5G.z7v(O5G.q5G()[19][22]);
                    var v3s = O5G.O7v(20, 390, 14, 15, 8);
                    s8a = M8a["distance"] < v3s;
                    O5G.z7v(O5G.s5G()[3][7]);
                    var A3s = O5G.O7v(14, 264);
                    o8a = M8a['deltaTime'] < A3s;
                    if (z8a && s8a && o8a) {
                        return;
                    }
                }
                if (!m8a || !O8a) {
                    return K8a || O8a && D8a & l0 || m8a && D8a & s0 ? this["preventSrc"](U8a) : void 0;
                }
            }
        },
        preventSrc: function(e8a) {
            this['manager']['session']["prevented"] = !0;
            e8a["preventDefault"]();
        }
    };

    function a4a(D7a) {
        var O7a;
        O7a = D7a["length"];
        if (1 === O7a) {
            return {
                x: a0(D7a[0]['clientX']),
                y: a0(D7a[0]["clientY"])
            };
        }
        for (var o7a = 0, z7a = 0, m7a = 0; m7a < O7a;) {
            o7a += D7a[m7a]['clientX'],
                z7a += D7a[m7a]["clientY"],
                m7a++;
        }
        return {
            x: a0(o7a / O7a),
            y: a0(z7a / O7a)
        };
    }

    function t0(N3a, p3a) {
        var V3a;
        V3a = this;
        this['manager'] = N3a;
        this["callback"] = p3a;
        this["element"] = N3a["element"];
        this['target'] = N3a['options']["inputTarget"];
        this["domHandler"] = function(R3a) {
            U4a(N3a["options"]['enable'], [N3a]) && V3a["handler"](R3a);
        };
        this["init"]();
    }

    function S4a() {
        m0["apply"](this, arguments);
        this['_timer'] = null;
        this["_input"] = null;
    }

    function E4a(k3a, b3a, L3a) {
        D0(G4a(b3a), function(h3a) {
            k3a['addEventListener'](h3a, L3a, !1);
        });
    }

    function Z4a(I3a, B3a, l3a) {
        var M3a;
        for (var x3a = [], t3a = [], j3a = 0; j3a < I3a['length'];) {
            M3a = B3a ? I3a[j3a][B3a] : I3a[j3a];
            W0(t3a, M3a) < 0 && x3a["push"](I3a[j3a]);
            t3a[j3a] = M3a;
            j3a++;
        }
        return l3a && (x3a = B3a ? x3a["sort"](function(K3a, U3a) {
            return K3a[B3a] > U3a[B3a];
        }) : x3a['sort']()),
            x3a;
    }
    Q4a = 1;
    I0 = 2;
    V0 = 4;
    U0 = 8;
    K0 = U0;
    p0 = 16;

    function M0() {
        m0["apply"](this, arguments);
    }

    function c4a() {
        M0["apply"](this, arguments);
    }

    function S2a(Y7a, Q9a) {
        O5G.U7v(O5G.q5G()[3][19]);
        var H3s = O5G.H7v(8, 112, 14);
        return J4a(Q9a[H3s], Q9a[0], y0) + J4a(Y7a[1], Y7a[0], y0);
    }
    m0['prototype'] = {
        defaults: {},
        set: function(a8a) {
            return O0(this['options'], a8a),
            this["manager"] && this['manager']["touchAction"]["update"](),
                this;
        },
        recognizeWith: function(N8a) {
            var V8a;
            if (q0(N8a, 'recognizeWith', this)) {
                return this;
            }
            V8a = this['simultaneous'];
            return N8a = h4a(N8a, this),
            V8a[N8a['id']] || (V8a[N8a['id']] = N8a,
                N8a["recognizeWith"](this)),
                this;
        },
        dropRecognizeWith: function(p8a) {
            return q0(p8a, 'dropRecognizeWith', this) ? this : (p8a = h4a(p8a, this),
                delete this["simultaneous"][p8a["id"]],
                this);
        },
        requireFailure: function(R8a) {
            var W8a;
            if (q0(R8a, "requireFailure", this)) {
                return this;
            }
            W8a = this["requireFail"];
            return R8a = h4a(R8a, this), -1 === W0(W8a, R8a) && (W8a['push'](R8a),
                R8a["requireFailure"](this)),
                this;
        },
        dropRequireFailure: function(r8a) {
            var F8a;
            if (q0(r8a, 'dropRequireFailure', this)) {
                return this;
            }
            r8a = h4a(r8a, this);
            F8a = W0(this['requireFail'], r8a);
            return F8a > -1 && this["requireFail"]['splice'](F8a, 1),
                this;
        },
        hasRequireFailures: function() {
            return this['requireFail']["length"] > 0;
        },
        canRecognizeWith: function(Z8a) {
            return !!this["simultaneous"][Z8a["id"]];
        },
        emit: function(T8a) {
            var q8a, i8a;
            q8a = this;
            i8a = this['state'];
            i8a < U0 && y8a(q8a["options"]['event'] + q4a(i8a));
            y8a(q8a['options']["event"]);
            T8a['additionalEvent'] && y8a(T8a["additionalEvent"]);
            i8a >= U0 && y8a(q8a['options']["event"] + q4a(i8a));

            function y8a(Y8a) {
                q8a['manager']['emit'](Y8a, T8a);
            }
        },
        tryEmit: function(Q6a) {
            if (this["canEmit"]()) {
                return this['emit'](Q6a);
            }
            this["state"] = 32;
        },
        canEmit: function() {
            for (var v6a = 0; v6a < this["requireFail"]["length"];) {
                if (!(this['requireFail'][v6a]['state'] & (32 | Q4a))) {
                    return !1;
                }
                v6a++;
            }
            return !0;
        },
        recognize: function(H6a) {
            var A6a;
            A6a = O0({}, H6a);
            if (!U4a(this['options']['enable'], [this, A6a])) {
                return this["reset"](),
                    void(this["state"] = 32);
            }
            this['state'] & (K0 | p0 | 32) && (this['state'] = Q4a);
            this["state"] = this["process"](A6a);
            this["state"] & (I0 | V0 | U0 | p0) && this['tryEmit'](A6a);
        },
        process: function(k6a) {},
        getTouchAction: function() {},
        reset: function() {}
    };
    B0(M0, m0, {
        defaults: {
            pointers: 1
        },
        attrTest: function(L6a) {
            var b6a;
            b6a = this["options"]['pointers'];
            return 0 === b6a || L6a["pointers"]["length"] === b6a;
        },
        process: function(P6a) {
            var h6a, g6a, X6a, f6a;
            h6a = this['state'];
            g6a = P6a["eventType"];
            O5G.z7v(O5G.q5G()[22][20]);
            X6a = O5G.H7v(I0, h6a, V0);
            f6a = this["attrTest"](P6a);
            return X6a && (g6a & x0 || !f6a) ? h6a | p0 : X6a || f6a ? g6a & S0 ? h6a | U0 : h6a & I0 ? h6a | V0 : I0 : 32;
        }
    });
    B0(f4a, M0, {
        defaults: {
            event: "pan",
            threshold: 10,
            pointers: 1,
            direction: O4a
        },
        getTouchAction: function() {
            var d6a, G6a;
            d6a = this["options"]["direction"];
            G6a = [];
            return d6a & l0 && G6a['push'](Y0),
            d6a & s0 && G6a['push'](T0),
                G6a;
        },
        directionTest: function(E6a) {
            var u6a, n6a, c6a, J6a, w6a, C6a;
            u6a = this['options'];
            n6a = !0;
            c6a = E6a['distance'];
            J6a = E6a["direction"];
            w6a = E6a['deltaX'];
            C6a = E6a['deltaY'];
            return J6a & u6a['direction'] || (u6a['direction'] & l0 ? (J6a = 0 === w6a ? v4a : w6a < 0 ? r0 : R0,
                n6a = w6a != this["pX"],
                c6a = Math['abs'](E6a['deltaX'])) : (J6a = 0 === C6a ? v4a : C6a < 0 ? i0 : F0,
                n6a = C6a != this['pY'],
                c6a = Math['abs'](E6a["deltaY"]))),
                E6a["direction"] = J6a,
            n6a && c6a > u6a["threshold"] && J6a & u6a['direction'];
        },
        attrTest: function(S6a) {
            return M0['prototype']["attrTest"]['call'](this, S6a) && (this['state'] & I0 || !(this["state"] & I0) && this['directionTest'](S6a));
        },
        emit: function(j6a) {
            var x6a;
            this["pX"] = j6a['deltaX'];
            this["pY"] = j6a['deltaY'];
            x6a = i4a(j6a["direction"]);
            x6a && (j6a["additionalEvent"] = this['options']["event"] + x6a);
            this['_super']["emit"]['call'](this, j6a);
        }
    });
    B0(c4a, M0, {
        defaults: {
            event: "pinch",
            threshold: 0,
            pointers: 2
        },
        getTouchAction: function() {
            return [N0];
        },
        attrTest: function(B6a) {
            return this['_super']['attrTest']["call"](this, B6a) && (Math["abs"](B6a['scale'] - 1) > this['options']["threshold"] || this["state"] & I0);
        },
        emit: function(I6a) {
            var t6a;
            if (1 !== I6a["scale"]) {
                t6a = I6a['scale'] < 1 ? "in" : "out";
                I6a["additionalEvent"] = this["options"]['event'] + t6a;
            }
            this["_super"]['emit']["call"](this, I6a);
        }
    });
    B0(S4a, m0, {
        defaults: {
            event: "press",
            pointers: 1,
            time: 251,
            threshold: 9
        },
        getTouchAction: function() {
            return [u4a];
        },
        process: function(M6a) {
            var l6a, K6a, U6a, D6a;
            l6a = this['options'];
            K6a = M6a["pointers"]["length"] === l6a['pointers'];
            U6a = M6a["distance"] < l6a['threshold'];
            D6a = M6a["deltaTime"] > l6a["time"];
            if (this["_input"] = M6a, !U6a || !K6a || M6a["eventType"] & (S0 | x0) && !D6a) {
                this['reset']();
            } else if (M6a["eventType"] & j0) {
                this['reset'](),
                    this['_timer'] = M4a(function() {
                        this['state'] = K0;
                        this['tryEmit']();
                    }, l6a['time'], this);
            } else if (M6a['eventType'] & S0) {
                return K0;
            }
            return 32;
        },
        reset: function() {
            clearTimeout(this["_timer"]);
        },
        emit: function(O6a) {
            this["state"] === K0 && (O6a && O6a["eventType"] & S0 ? this["manager"]['emit'](this['options']["event"] + 'up', O6a) : (this['_input']['timeStamp'] = b4a(),
                this["manager"]['emit'](this['options']["event"], this['_input'])));
        }
    });
    B0(j4a, M0, {
        defaults: {
            event: 'rotate',
            threshold: 0,
            pointers: 2
        },
        getTouchAction: function() {
            return [N0];
        },
        attrTest: function(m6a) {
            return this["_super"]["attrTest"]["call"](this, m6a) && (Math["abs"](m6a['rotation']) > this['options']["threshold"] || this["state"] & I0);
        }
    });
    B0(x4a, M0, {
        defaults: {
            event: 'swipe',
            threshold: 10,
            velocity: .3,
            direction: l0 | s0,
            pointers: 1
        },
        getTouchAction: function() {
            return f4a['prototype']['getTouchAction']["call"](this);
        },
        attrTest: function(o6a) {
            var s6a, z6a;
            z6a = this["options"]["direction"];
            return z6a & (l0 | s0) ? s6a = o6a["overallVelocity"] : z6a & l0 ? s6a = o6a['overallVelocityX'] : z6a & s0 && (s6a = o6a['overallVelocityY']),
            this["_super"]["attrTest"]["call"](this, o6a) && z6a & o6a["offsetDirection"] && o6a['distance'] > this["options"]['threshold'] && o6a["maxPointers"] == this["options"]["pointers"] && z0(s6a) > this["options"]['velocity'] && o6a['eventType'] & S0;
        },
        emit: function(e6a) {
            var a6a;
            a6a = i4a(e6a['offsetDirection']);
            a6a && this['manager']["emit"](this["options"]['event'] + a6a, e6a);
            this["manager"]['emit'](this["options"]['event'], e6a);
        }
    });
    B0(A4a, m0, {
        defaults: {
            event: "tap",
            pointers: 1,
            taps: 1,
            interval: 300,
            time: 250,
            threshold: 9,
            posThreshold: 10
        },
        getTouchAction: function() {
            return [g4a];
        },
        process: function(N6a) {
            var V6a, p6a, R6a, W6a, r6a, F6a;
            V6a = this["options"];
            p6a = N6a["pointers"]['length'] === V6a["pointers"];
            R6a = N6a['distance'] < V6a["threshold"];
            W6a = N6a["deltaTime"] < V6a["time"];
            if (this['reset'](),
            N6a['eventType'] & j0 && 0 === this["count"]) {
                return this['failTimeout']();
            }
            if (R6a && W6a && p6a) {
                if (N6a['eventType'] != S0) {
                    return this["failTimeout"]();
                }
                r6a = !this["pTime"] || N6a["timeStamp"] - this['pTime'] < V6a["interval"];
                F6a = !this['pCenter'] || k4a(this['pCenter'], N6a["center"]) < V6a['posThreshold'];
                this["pTime"] = N6a['timeStamp'];
                this['pCenter'] = N6a["center"];
                F6a && r6a ? this['count'] += 1 : this['count'] = 1;
                this["_input"] = N6a;
                if (0 === this['count'] % V6a['taps']) {
                    return this['hasRequireFailures']() ? (this["_timer"] = M4a(function() {
                        this['state'] = K0;
                        this['tryEmit']();
                    }, V6a["interval"], this),
                        I0) : K0;
                }
            }
            return 32;
        },
        failTimeout: function() {
            return this["_timer"] = M4a(function() {
                this['state'] = 32;
            }, this['options']["interval"], this),
                32;
        },
        reset: function() {
            clearTimeout(this["_timer"]);
        },
        emit: function() {
            this["state"] == K0 && (this["_input"]["tapCount"] = this["count"],
                this["manager"]['emit'](this['options']['event'], this["_input"]));
        }
    });
    Z0['VERSION'] = '2.0.6';
    Z0["defaults"] = {
        domEvents: !1,
        touchAction: "compute",
        enable: !0,
        inputTarget: null,
        inputClass: null,
        preset: [
            [j4a, {
                enable: !1
            }],
            [c4a, {
                enable: !1
            },
                ["rotate"]
            ],
            [x4a, {
                direction: l0
            }],
            [f4a, {
                direction: l0
            },
                ["swipe"]
            ],
            [A4a],
            [A4a, {
                event: "doubletap",
                taps: 2
            },
                ['tap']
            ],
            [S4a]
        ],
        cssProps: {
            userSelect: 'none',
            touchSelect: 'none',
            touchCallout: 'none',
            contentZooming: 'none',
            userDrag: "none",
            tapHighlightColor: "rgba(0,0,0,0)"
        }
    };

    function n2a(R9a, p9a) {
        var V9a;
        V9a = document["createEvent"]('Event');
        V9a["initEvent"](R9a, !0, !0);
        V9a["gesture"] = p9a;
        p9a['target']["dispatchEvent"](V9a);
    }
    return t4a['prototype'] = {
        set: function(Z6a) {
            return O0(this["options"], Z6a),
            Z6a["touchAction"] && this["touchAction"]['update'](),
            Z6a['inputTarget'] && (this['input']['destroy'](),
                this['input']["target"] = Z6a['inputTarget'],
                this["input"]['init']()),
                this;
        },
        stop: function(q6a) {
            this['session']["stopped"] = q6a ? 2 : 1;
        },
        recognize: function(v5a) {
            var T6a, y6a, Q5a, i6a;
            T6a = this["session"];
            if (!T6a['stopped']) {
                this['touchAction']["preventDefaults"](v5a);
                Q5a = this['recognizers'];
                i6a = T6a['curRecognizer'];
                (!i6a || i6a && i6a["state"] & K0) && (i6a = T6a["curRecognizer"] = null);
                for (var Y6a = 0; Y6a < Q5a["length"];) {
                    y6a = Q5a[Y6a],
                        2 === T6a['stopped'] || i6a && y6a != i6a && !y6a['canRecognizeWith'](i6a) ? y6a['reset']() : y6a["recognize"](v5a), !i6a && y6a["state"] & (I0 | V0 | U0) && (i6a = T6a["curRecognizer"] = y6a),
                        Y6a++;
                }
            }
        },
        get: function(k5a) {
            if (k5a instanceof m0) {
                return k5a;
            }
            for (var H5a = this['recognizers'], A5a = 0; A5a < H5a["length"]; A5a++)
                if (H5a[A5a]["options"]["event"] == k5a) {
                    return H5a[A5a];
                }
            return null;
        },
        add: function(b5a) {
            var L5a;
            if (q0(b5a, "add", this)) {
                return this;
            }
            L5a = this['get'](b5a["options"]['event']);
            return L5a && this['remove'](L5a),
                this['recognizers']['push'](b5a),
                b5a["manager"] = this,
                this['touchAction']["update"](),
                b5a;
        },
        remove: function(h5a) {
            var g5a, X5a;
            if (q0(h5a, 'remove', this)) {
                return this;
            }
            if (h5a = this["get"](h5a)) {
                g5a = this["recognizers"];
                X5a = W0(g5a, h5a); - 1 !== X5a && (g5a["splice"](X5a, 1),
                    this["touchAction"]['update']());
            }
            return this;
        },
        on: function(P5a, G5a) {
            var f5a;
            f5a = this["handlers"];
            return D0(G4a(P5a), function(d5a) {
                f5a[d5a] = f5a[d5a] || [];
                f5a[d5a]['push'](G5a);
            }),
                this;
        },
        off: function(u5a, J5a) {
            var E5a;
            E5a = this["handlers"];
            return D0(G4a(u5a), function(n5a) {
                J5a ? E5a[n5a] && E5a[n5a]['splice'](W0(E5a[n5a], J5a), 1) : delete E5a[n5a];
            }),
                this;
        },
        emit: function(C5a, c5a) {
            var w5a;
            this['options']['domEvents'] && n2a(C5a, c5a);
            w5a = this["handlers"][C5a] && this["handlers"][C5a]['slice']();
            if (w5a && w5a["length"]) {
                c5a["type"] = C5a;
                c5a["preventDefault"] = function() {
                    c5a["srcEvent"]['preventDefault']();
                };
                for (var S5a = 0; S5a < w5a['length'];) {
                    w5a[S5a](c5a),
                        S5a++;
                }
            }
        },
        destroy: function() {
            this["element"] && r4a(this, !1);
            this["handlers"] = {};
            this['session'] = {};
            this["input"]["destroy"]();
            this["element"] = null;
        }
    },
        O0(Z0, {
            INPUT_START: j0,
            INPUT_MOVE: o0,
            INPUT_END: S0,
            INPUT_CANCEL: x0,
            STATE_POSSIBLE: Q4a,
            STATE_BEGAN: I0,
            STATE_CHANGED: V0,
            STATE_ENDED: U0,
            STATE_RECOGNIZED: K0,
            STATE_CANCELLED: p0,
            STATE_FAILED: 32,
            DIRECTION_NONE: v4a,
            DIRECTION_LEFT: r0,
            DIRECTION_RIGHT: R0,
            DIRECTION_UP: i0,
            DIRECTION_DOWN: F0,
            DIRECTION_HORIZONTAL: l0,
            DIRECTION_VERTICAL: s0,
            DIRECTION_ALL: O4a,
            Manager: t4a,
            Input: t0,
            TouchAction: B4a,
            TouchInput: L4a,
            MouseInput: H4a,
            PointerEventInput: I4a,
            TouchMouseInput: n4a,
            SingleTouchInput: A2a,
            Recognizer: m0,
            AttrRecognizer: M0,
            Tap: A4a,
            Pan: f4a,
            Swipe: x4a,
            Pinch: c4a,
            Rotate: j4a,
            Press: S4a,
            on: E4a,
            off: d4a,
            each: D0,
            merge: X2a,
            extend: w4a,
            assign: O0,
            inherit: B0,
            bindFn: D4a,
            prefixed: X4a
        }),
        Z0;
});
GamePix['define']('dragManager', ['ui', 'gameSession', 'hammer'], function(B5a, I5a, x5a) {
    var j5a;
    j5a = 'menu';

    function t5a(l5a) {
        var M5a;
        j5a = l5a;
        M5a = setInterval(function() {
            var K5a, U5a;
            K5a = document['getElementById']("gamepix_10_button-menu-drag");
            if (window["addEventListener"]("resize", function() {
                K5a["style"]['top'] = '200px';
            }, !1),
            null !== K5a) {
                clearInterval(M5a);
                U5a = new x5a(K5a);
                U5a["get"]('pan')["set"]({
                    direction: x5a['DIRECTION_ALL']
                });
                Q4aa.U7v(Q4aa.q5G()[25][15]);
                K5a["style"]["setProperty"]('z-index', Q4aa.O7v(1, zIndexGamepix), "important");
                K5a["style"]['setProperty']("display", "block", "important");
                U5a["on"]('pan', function(D5a) {
                    D5a['pointers'][0]['clientY'] > 0 && (K5a["style"]["top"] = D5a["pointers"][0]['clientY'] - K5a['getBoundingClientRect']()['height'] / 2 + "px");
                    D5a['preventDefault']();
                });
                U5a["on"]('tap', function(O5a) {
                    void 0 !== window["navigator"]['vibrate'] && window['navigator']['vibrate'](100);
                    B5a["talkWithUI"](I5a, j5a, function() {});
                });
            }
        }, 500);
    }
    return {
        start: t5a
    };
});
GamePix['define']('loadingManager', ["gameSession", 'utils', "stats", 'rotateManager', "dragManager"], function(z5a, a5a, N5a, k1a, p5a) {
    var e5a, W5a, m5a, s5a, o5a, V5a, R5a, F5a;

    function r5a() {
        N5a['start']('play_button', z5a);
        document["getElementById"]("gamepix_10_box_notice") && document["getElementById"]('gamepix_10_box_notice')["style"]['setProperty']("display", 'none', 'important');
        document['getElementById']("gamepix_10_box_notice") && document["getElementById"]("gamepix_10_box_notice_hide")['style']['setProperty']("display", 'none', 'important');
        GamePix["playButtonClicked"] = !0;
    }

    function T5a(l1a, M1a) {
        var t1a;
        if (o5a["custom_logo"] && (110776 == m5a['sid'] ? (document['getElementById']("gamepix_10_producer_logo")["src"] = '/gpxlib/ingamelib2/assets/img/veon_screen.png',
        null !== document["getElementById"]("gamepix_10_gamepix_logo") && (document["getElementById"]("gamepix_10_gamepix_logo")["src"] = "",
            document["getElementById"]('gamepix_10_gamepix_logo')["style"]['setProperty']('display', "block", 'important'),
            document['getElementById']("gamepix_10_game_info")['style']["setProperty"]('display', "none", "important"))) : document['getElementById']('gamepix_10_producer_logo')['src'] = o5a["custom_logo"],
            document['getElementById']("gamepix_10_producer_logo")['style']['setProperty']("display", 'block', 'important')),
            Z5a(),
        110776 != m5a["sid"] && 110745 != m5a['sid']) {
            document["getElementById"]("gamepix_10_game-icon")["onload"] = function() {
                document['getElementById']("gamepix_10_game-icon")["className"] = "";
            };
            document['getElementById']("gamepix_10_game-icon")['src'] = s5a['thumbnailUrl']['replace']("https:", window["location"]['protocol']);
            document["getElementById"]("gamepix_10_title-box-center")["textContent"] = s5a["title"];
            document["getElementById"]('gamepix_10_game-title')["style"]["setProperty"]('display', "block", "important");
            t1a = GamePix["text"]('text_id_play_now');
            document['getElementById']("gamepix_10_play-now-text-button")['textContent'] = t1a;
            'ar' != GamePix['lang']() && "fa" != GamePix['lang']() && 'eg' != GamePix["lang"]() && "aeb" != GamePix["lang"]() || document["getElementById"]("gamepix_10_play-now-text-button")['setAttribute']("dir", 'rtl');
            document['getElementById']("gamepix_10_game_info")['style']['setProperty']('display', "block", 'important');
        }
        if (!0 === z5a['inGameVars']["flagForAvoidPreroll"]) {
            t1a = GamePix["text"]("text_id_play_now");
            document['getElementById']('gamepix_10_play-now-text-button')['textContent'] = t1a;
            "ar" != GamePix["lang"]() && 'fa' != GamePix['lang']() && 'eg' != GamePix['lang']() && 'aeb' != GamePix['lang']() || document["getElementById"]('gamepix_10_play-now-text-button')['setAttribute']("dir", 'rtl');
            document["getElementById"]('gamepix_10_game_info')["style"]['setProperty']('display', 'block', 'important');
        }
        console["log"]("sono qui ma lad ha caricato", "GamePix.Advertising", GamePix["Advertising"], 'callbackFromAdv', W5a);
        !1 === o5a["custom_api"] || !0 === o5a["custom_api"] && (!0 === o5a["ads_preroll"] || !0 === o5a["ads_midroll"]) ? (a5a['bindInputFromDevice']("gamepix_10_logos_container", function() {
            var K1a, U1a;
            r5a();
            K1a = document['getElementById']("gamepix_10_logos_container");
            U1a = K1a['cloneNode'](!0);
            if (K1a["parentNode"]["replaceChild"](U1a, K1a),
                document['getElementById']('gamepix_10_play-now')["style"]['setProperty']('display', "none", 'important'),
                document['getElementById']("gamepix_10_loader_container")["style"]["setProperty"]("display", "block", "important"), !0 !== o5a["ads_preroll"]) {
                return M1a();
            }
            R5a = Date["now"]();
            l1a(m5a, function() {
                return M1a();
            });
        }),
            document['getElementById']("gamepix_10_play-now")["style"]['setProperty']('display', 'table', "important")) : (r5a(),
            setTimeout(function() {
                if (document['getElementById']('gamepix_10_loader_container')['style']["setProperty"]('display', "block", "important"),
                110776 != m5a['sid']) {
                    return M1a();
                }
            }, 2e3));
    }

    function i5a(Z1a) {
        return Y5a(function() {
            T5a(Z1a, function() {
                q5a();
            });
        });
    }

    function Y5a(S1a) {
        var C1a;
        C1a = setInterval(function() {
            var j1a;
            if (document["getElementsByTagName"]('body')[0]) {
                clearInterval(C1a);
                j1a = setInterval(function() {
                    if (document["getElementById"]('gamepix_10_external-container') && document['getElementById']('gamepix_10_game-icon') && document["getElementById"]("gamepix_10_title-box-center")) {
                        return clearInterval(j1a),
                            S1a();
                    }
                }, 100);
            }
        }, 100);
    }

    function q5a(e1a) {
        var D1a, m1a, o1a, O1a, z1a, s1a;
        if (e1a) {
            if (document["getElementById"]("gamepix_10_loading-bar")) {
                document["getElementById"]("gamepix_10_loading-bar")['setAttribute']('style', "width: 80% !important");
                D1a = 0;
                m1a = 22;
                Q4aa.z7v(Q4aa.q5G()[32][24]);
                o1a = parseInt(Q4aa.O7v(1e3, R5a, V5a));
                O1a = 0;
                o1a > 0 && (m1a -= o1a);
                z1a = setInterval(function() {
                    null !== document['getElementById']("gamepix_10_loading-bar") ? (D1a > m1a ? (document['getElementById']("gamepix_10_loading-bar")["setAttribute"]('style', "width: " + (80 + D1a) + "% !important"),
                        clearInterval(z1a)) : D1a <= m1a && 0 === O1a && (O1a = parseInt(3 * Math['random']()) + 1,
                        D1a += O1a,
                        document["getElementById"]("gamepix_10_loading-bar")["setAttribute"]("style", "width: " + (80 + D1a) + '% !important')),
                        O1a--) : clearInterval(z1a);
                }, 1e3);
            }
            V5a = Date["now"]();
            e5a = function() {
                var a1a;
                if (document["getElementById"]("gamepix_10_loader-animation")) {
                    document["getElementById"]('gamepix_10_loader-animation')['style']["setProperty"]("display", 'none', 'important');
                } else {
                    a1a = setInterval(function() {
                        document["getElementById"]("gamepix_10_loader-animation") && (clearInterval(a1a),
                            document['getElementById']('gamepix_10_loader-animation')['style']['setProperty']('display', "none", "important"));
                    }, 30);
                }
                document['getElementById']('gamepix_10_loader_container')["style"]['setProperty']('display', "none", "important");
                setTimeout(function() {
                    e5a = function() {};
                    e1a();
                }, 1e3);
            };
            !0 === W5a ? e5a() : (110776 != m5a["sid"] && (document["getElementById"]("gamepix_10_game-icon")["onload"] = function() {
                document["getElementById"]("gamepix_10_game-icon")['className'] = "";
            },
                document["getElementById"]('gamepix_10_game-icon')['src'] = s5a['thumbnailUrl']['replace']("https:", window["location"]['protocol']),
                document['getElementById']("gamepix_10_title-box-center")['textContent'] = s5a['title'],
                document['getElementById']("gamepix_10_game-title")['style']['setProperty']("display", 'block', "important"),
                document['getElementById']("gamepix_10_game_info")["style"]['setProperty']('display', 'block', 'important')),
                setTimeout(function() {
                    GamePix["Advertising"] || !0 !== o5a["ads_preroll"] && !0 !== o5a['ads_midroll'] || !0 !== GamePix['playButtonClicked'] && (N5a["start"]("adblock", z5a),
                        e5a(),
                        document["getElementById"]("gamepix_10_play-now")["style"]["setProperty"]('display', 'table', 'important'),
                        Z5a(),
                        a5a["bindInputFromDevice"]("gamepix_10_logos_container", function() {
                            var N1a, V1a;
                            r5a();
                            N1a = document["getElementById"]('gamepix_10_logos_container');
                            V1a = N1a['cloneNode'](!0);
                            N1a["parentNode"]['replaceChild'](V1a, N1a);
                            document["getElementById"]('gamepix_10_play-now')["style"]['setProperty']("display", 'none', "important");
                            document["getElementById"]("gamepix_10_loader_container")["style"]["setProperty"]('display', 'block', 'important');
                        }));
                }, 5e3));
        } else {
            if (null !== document['getElementById']('gamepix_10_game_info') && document["getElementById"]("gamepix_10_game_info")['style']["setProperty"]("display", 'none', 'important'),
            null !== document['getElementById']('gamepix_10_producer_logo') && document["getElementById"]("gamepix_10_producer_logo")["style"]['setProperty']("display", 'none', 'important'), !0 === o5a['gamepix_brand']) {
                null !== document['getElementById']("gamepix_10_gamepix_logo") && document["getElementById"]("gamepix_10_gamepix_logo")["style"]["setProperty"]('display', "block", "important");
            } else {
                null !== document["getElementById"]("gamepix_10_gamepix_logo") && (document["getElementById"]('gamepix_10_gamepix_logo')['setAttribute']("src", ''),
                    document["getElementById"]("gamepix_10_gamepix_logo")["style"]['setProperty']('display', 'block', 'important'));
                s1a = !1;
                try {
                    s1a = GamePix["settings"]["isMobile"]();
                } catch (p1a) {}
                100383 != m5a['sid'] && 110707 != m5a['sid'] || !1 !== s1a || (document['getElementById']("gamepix_10_gamepix_logo")["style"]["setProperty"]("width", '100%', "important"),
                    document['getElementById']('gamepix_10_logos_container')["style"]["setProperty"]("width", "100%", 'important'),
                    document['getElementById']("gamepix_10_gamepix_logo")['style']["setProperty"]('max-width', '600px', "important"),
                    document['getElementById']('gamepix_10_logos_container')['style']['setProperty']("max-width", "600px", 'important'),
                    document["getElementById"]("gamepix_10_gamepix_logo")["src"] = '/gpxlib/ingamelib2/assets/img/VG5.gif',
                    F5a = 5e3);
            }
            W5a = !0;
            void 0 !== e5a && e5a();
        }
    }

    function v1a() {
        !0 !== o5a["ads_midroll"] && !0 !== o5a['ads_preroll'] || "WEB" != o5a["platform"] || !0 !== o5a["ads_competition"] || "30166" == m5a["sid"] || "90261" == m5a['sid'] || "110576" == m5a["sid"] ? '60273' == m5a["pid"] || "100557" == m5a["sid"] || "100558" == m5a['sid'] || "110595" == m5a['sid'] || '110600' == m5a["sid"] || "110637" == m5a["sid"] || "110667" == m5a["sid"] || '110668' == m5a['sid'] || '110693' == m5a["sid"] || '110700' == m5a['sid'] || '110701' == m5a["sid"] || "110713" == m5a["sid"] || "110723" == m5a['sid'] || "110724" == m5a["sid"] || '110784' == m5a['sid'] || "110785" == m5a['sid'] || '110761' == m5a['sid'] || '110799' == m5a['sid'] || "110822" == m5a['sid'] || "110825" == m5a["sid"] ? p5a["start"]("how_to_play") : "90262" == m5a['sid'] && p5a['start']('more_games_custom') : p5a['start']('more_games');
    }

    function y5a() {
        var W1a, R1a;
        W1a = !1;
        R1a = !1;
        switch (new RegExp(/Android|iPhone|iPad|iPod|webOS|BlackBerry|IEMobile|Opera Mini/i)['test'](navigator['userAgent']) && (W1a = !0),
            m5a['sid']) {
            case '1':
            case "30057":
            case "50170":
            case '100470':
                R1a = !0;
                break;
            default:
                R1a = !1;
        }
        m5a["gid"];
        m5a['did'];
        m5a['pid'];
        m5a['sid'];
        m5a['st'];
        m5a["gt"];
        m5a["token"];
        z5a["userVars"];
        z5a["inGameVars"];
        if (!1 === z5a["userVars"]['logRequest']) {
            !0 === R1a && !0 === W1a && self == top && "landscape" == s5a["orientation"] && a5a["goFullScreen"]();
            try {
                a5a["addOneTimeEventListener"](function() {
                    try {
                        void 0 !== GamePix["AUDIO_CTX"] && null !== GamePix['AUDIO_CTX'] && GamePix["AUDIO_CTX"]["resume"]();
                    } catch (r1a) {}
                    z5a['inGameVars']["gamePlayed"] = !0;
                    N5a["sendEventToApi"]('gamePlayed', z5a);
                    fbq('track', 'ViewContent');
                });
            } catch (F1a) {
                z5a['inGameVars']['gamePlayed'] = !0;
                N5a["sendEventToApi"]('gamePlayed', z5a);
                fbq('track', 'ViewContent');
                console["log"](F1a['message']);
            }
        } else {
            !0 === R1a && !0 === W1a && self == top && 'landscape' == s5a['orientation'] && a5a['goFullScreen'](),
                z5a["inGameVars"]['gamePlayed'] = !0,
                N5a['sendEventToApi']("gamePlayed", z5a),
                fbq('track', 'ViewContent');
        }
    }

    function Z5a() {
        var I1a, x1a, B1a;
        if ("WEB" === o5a['platform']) {
            I1a = 'We may show personalized ads provided by our partners, and our services can not be used by children under 16 years old without the consent of their legal guardian. By clicking PLAY NOW, you consent to transmit your data to our partners for advertising purposes and declare that you are 16 years old or have the permission of your legal guardian. Our terms <a href="http://www.gamepix.com/privacy-policy/" target="_blank">here</a>.';
            x1a = document['createElement']('div');
            x1a['className'] = "gamepix_10_box_notice";
            x1a['id'] = 'gamepix_10_box_notice';
            x1a["innerHTML"] = I1a;
            B1a = document["createElement"]("div");
            B1a['className'] = 'gamepix_10_box_notice_hide';
            B1a["id"] = 'gamepix_10_box_notice_hide';
            B1a['innerHTML'] = I1a;
            document['getElementById']("gamepix_10_logos_container")['appendChild'](B1a);
            document["getElementById"]("gamepix_10_external-container")['appendChild'](x1a);
        }
    }
    m5a = z5a["allVars"];
    s5a = z5a['gameVars'];
    o5a = z5a["siteVars"];
    V5a = Date['now']();
    R5a = Date["now"]();
    F5a = 1200;

    function Q1a() {
        var f1a, P1a;
        f1a = document["getElementById"]("gamepix_10_external-container");
        P1a = setInterval(function() {
            !0 === GamePix["playButtonClicked"] && void 0 !== f1a && null !== f1a && (clearInterval(P1a),
                setTimeout(function() {
                    k1a["checkOrientation"](function(c1a) {
                        var J1a, u1a, n1a, d1a, G1a, E1a;
                        if (!0 === c1a) {
                            try {
                                J1a = document['getElementById']('gamepix_10_producer_logo');
                                J1a && J1a['remove']();
                                u1a = document['getElementById']("gamepix_10_logos_container");
                                u1a && u1a['remove']();
                                n1a = document["getElementById"]("gamepix_10_loader_container");
                                n1a && n1a['remove']();
                            } catch (w1a) {
                                console["log"](w1a["message"]);
                            }
                            d1a = document["createElement"]("div");
                            d1a['id'] = 'gamepix_10_rotate_device_container';
                            G1a = document["createElement"]('p');
                            G1a['id'] = "gamepix_10_gamepix_rotate_device_msg";
                            G1a['textContent'] = GamePix["text"]("text_id_rotate");
                            "ar" != GamePix["lang"]() && 'fa' != GamePix["lang"]() && "eg" != GamePix["lang"]() && 'aeb' != GamePix["lang"]() || G1a['style']['setProperty']("direction", 'rtl', 'important');
                            "my" != GamePix["lang"]() && 'mm' != GamePix["lang"]() || G1a['style']["setProperty"]("font-family", 'Myanmar3, Yunghkio', "important");
                            G1a['style']['setProperty']("display", "block", "important");
                            E1a = document["createElement"]("img");
                            E1a["id"] = "gamepix_10_gamepix_rotate_device";
                            E1a['src'] = "";
                            E1a["style"]['setProperty']("display", "block", 'important');
                            d1a["appendChild"](G1a);
                            d1a['appendChild'](E1a);
                            f1a["appendChild"](d1a);
                        } else {
                            f1a["remove"]();
                        }
                        v1a();
                    });
                }, F5a));
        }, 1e3);
    }

    function H1a(b1a) {
        var L1a;
        L1a = setInterval(function() {
            void 0 !== document['getElementById']("gamepix_10_loader_container") && null !== document['getElementById']("gamepix_10_loader_container") && (clearInterval(L1a),
                document['getElementById']("gamepix_10_loader_container")["style"]['setProperty']('display', "none", 'important'),
                document['getElementById']('gamepix_10_loader_container')["style"]["setProperty"]("border-bottom", "12px solid #075092", "important"),
            110776 == m5a["sid"] && document['getElementById']("gamepix_10_loader_container")['style']["setProperty"]('border-bottom', '12px solid #2b2b2b', "important"));
        }, 500);
        !1 === o5a['ads_preroll'] && !1 === o5a["ads_midroll"] ? i5a(b1a) : GamePix["requirejs"](['advertisingFake'], function() {
            GamePix["requirejs"]([("https:" == window['location']["protocol"] ? 'https' : "http") + "://imasdk.googleapis.com/js/sdkloader/ima3.js"], function() {
                i5a(b1a);
            });
        });
    }

    function A1a(h1a) {
        var g1a, X1a;
        if (h1a) {
            g1a = document['getElementById']("gamepix_10_loading-bar");
            if (null !== g1a) {
                X1a = parseInt(g1a["style"]["width"]);
                !1 === isNaN(X1a) && h1a > X1a && (h1a > 80 && (h1a = 80),
                    g1a["setAttribute"]("style", "width: " + h1a + '% !important'));
            }
        }
    }
    return {
        start: H1a,
        loaderBar: A1a,
        killLoaderUI: Q1a,
        bothEventsAreFired: q5a,
        checkRealUserInteraction: y5a
    };
});
GamePix['define']("pubManager", ["gameSession", "ads", 'ui', 'configLib', 'utils', 'loadingManager'], function(y1a, Y1a, P0a, d0a, G0a, f0a) {
    var v0a, i1a, A0a, q1a, Q0a, H0a, b0a, T1a;

    function h0a(C0a, S0a) {
        switch (C0a) {
            case 'gameLoaded':
                !1 === i1a['gameLoaded'] && (i1a['gameLoaded'] = !0, !0 === q1a["ads_midroll"] && setTimeout(function() {
                    console["log"]('AF');
                    i1a['adsWindow'] = 'free';
                }, T1a()),
                    f0a['bothEventsAreFired'](S0a));
                break;
            case 'levelComplete':
            case "gameOver":
            case 'gameComplete':
            case "reward":
                X0a(C0a, S0a);
        }
    }

    function k0a(j0a) {
        if (!(!0 === H0a && !0 === q1a["app_inst"] && !0 == !!navigator['userAgent']["match"](/android/i) && y1a['inGameVars']["seconds"] >= 600)) {
            try {
                clearInterval(v0a);
                setTimeout(function() {
                    GamePix['on']['resume']();
                }, 150);
            } catch (x0a) {}
            return j0a();
        }
        P0a['talkWithUI'](y1a, 'app_install_vg5', function() {
            try {
                clearInterval(v0a);
                GamePix['on']['resume']();
            } catch (B0a) {}
            return j0a();
        });
    }

    function L0a(t0a, I0a) {
        if (GamePix["Advertising"]) {
            return i1a['adsWindow'] = 'busy',
                console['log']("AB"),
                i1a["adsViews"]++,
                Y1a["giveMeAd"]({
                    w: window["innerWidth"],
                    h: window["innerHeight"],
                    sessionObject: t0a,
                    secondAdsCall: q1a["second_ads_call"],
                    ads_competition: q1a['ads_competition'],
                    gameObject: Q0a,
                    type: "midroll",
                    interstitial: q1a["interstitial"],
                    times: i1a['adsViews']
                }, function(M0a) {
                    "1px" == M0a['type'] && (q1a['ads_midroll'] = !1);
                    try {
                        GamePix['on']['soundOn']();
                    } catch (l0a) {}
                    if (setTimeout(function() {
                        console['log']('AF');
                        i1a["adsWindow"] = 'free';
                    }, T1a()),
                        I0a) {
                        return k0a(I0a);
                    }
                });
        }
        try {
            GamePix["on"]['soundOn']();
        } catch (K0a) {}
        return I0a ? k0a(I0a) : void 0;
    }
    i1a = y1a['inGameVars'];
    A0a = y1a['allVars'];
    q1a = y1a['siteVars'];
    Q0a = y1a["gameVars"];
    H0a = !0;
    b0a = 500;
    T1a = function() {
        return parseInt(q1a["ads_hz"]);
    };

    function X0a(J0a, E0a) {
        if ('free' == i1a["adsWindow"] && !1 === Y1a["isAdBusy"]()) {
            try {
                GamePix['on']['pause']();
                GamePix["on"]["soundOff"]();
                v0a = setInterval(function() {
                    GamePix['on']['soundOff']();
                }, b0a);
            } catch (u0a) {
                console['log'](u0a);
            }
            L0a(A0a, E0a);
        } else {
            E0a();
        }
    }

    function g0a(n0a, c0a) {
        return Y1a["giveMeAd"]({
            w: window['innerWidth'],
            h: window["innerHeight"],
            sessionObject: n0a,
            secondAdsCall: q1a["second_ads_call"],
            ads_competition: q1a['ads_competition'],
            gameObject: Q0a,
            type: "preroll",
            interstitial: q1a["interstitial"]
        }, function(w0a) {
            "1px" == w0a['type'] && (q1a["ads_midroll"] = !1);
            c0a();
        });
    }
    return {
        next: h0a,
        startPreroll: g0a
    };
});
GamePix['define']('scoreManager', [], function() {
    function m0a(V0a) {
        var p0a, N0a;
        p0a = V0a['inGameVars']["levelReached"]['toString']();
        N0a = V0a['inGameVars']["actualScore"];
        return D0a(p0a) && (p0a = "main"),
        O0a(N0a) && (console["log"]('NO SCORE', N0a),
            N0a = 0), {
            title: V0a['gameVars']["title"],
            gid: V0a['gameVars']["gid"],
            level: p0a,
            score: N0a
        };
    }

    function O0a(a0a) {
        return void 0 === a0a || null === a0a || 'undefined' == a0a;
    }

    function D0a(e0a) {
        return void 0 === e0a || "undefined" == e0a || "main" == e0a || null === e0a || !(!e0a || !0 !== U0a(e0a));
    }

    function U0a(z0a) {
        var o0a;
        try {
            o0a = JSON["parse"](z0a);
        } catch (s0a) {
            return !1;
        }
        return 'number' != typeof o0a && "object" == typeof o0a;
    }
    return {
        sendScoreToServer: m0a
    };
});
GamePix["define"]("remapManager", ["gameSession", "ui"], function(R0a, W0a) {
    var r0a;
    r0a = new RegExp(/Android|iPhone|iPad|iPod|webOS|BlackBerry|IEMobile|Opera Mini/i);

    function F0a(i0a, Z0a, q0a) {
        try {
            switch (R0a['allVars']["gid"]) {
                case '40253':
                    return "info" == Z0a["type"] && (R0a["temp"] = {
                        message: Z0a['message'],
                        button: GamePix['text']('text_id_continue')
                    },
                        "WEB" != R0a['siteVars']["platform"] ? W0a['talkWithUI'](R0a, "info", function() {
                            return GamePix["createUIGameError"](),
                                q0a({
                                    status: 'error'
                                });
                        }) : r0a['test'](navigator["userAgent"]) ? (R0a["temp"]["button"] = GamePix['text']("text_id_continue"),
                            W0a['talkWithUI'](R0a, "info", function() {
                                W0a["talkWithUI"](R0a, 'app_install', function() {
                                    W0a['talkWithUI'](R0a, "more_games", function() {
                                        return GamePix['createUIGameError'](),
                                            q0a({
                                                status: "error"
                                            });
                                    });
                                });
                            })) : (R0a['temp']["button"] = GamePix["text"]("text_id_continue"),
                            W0a["talkWithUI"](R0a, "info", function() {
                                W0a["talkWithUI"](R0a, "more_games", function() {
                                    return GamePix['createUIGameError'](),
                                        q0a({
                                            status: "error"
                                        });
                                });
                            }))),
                        'link' == Z0a['type'] && "WEB" == R0a['siteVars']['platform'] ? (window['open'](i0a, '_blank'),
                            q0a({
                                status: "success"
                            })) : q0a({
                            status: "success"
                        });
                case "40226":
                    'info' == Z0a['type'] && (R0a['temp'] = {
                        message: Z0a["message"],
                        button: GamePix['text']('text_id_continue')
                    },
                        'WEB' != R0a["siteVars"]['platform'] ? W0a["talkWithUI"](R0a, 'info', function() {
                            return GamePix['createUIGameError'](),
                                q0a({
                                    status: "error"
                                });
                        }) : r0a['test'](navigator['userAgent']) ? (R0a['temp']['button'] = GamePix["text"]("text_id_continue"),
                            W0a['talkWithUI'](R0a, "info", function() {
                                W0a["talkWithUI"](R0a, "app_install", function() {
                                    W0a['talkWithUI'](R0a, "more_games", function() {
                                        return GamePix['createUIGameError'](),
                                            q0a({
                                                status: "error"
                                            });
                                    });
                                });
                            })) : (R0a['temp']["button"] = GamePix['text']("text_id_continue"),
                            W0a["talkWithUI"](R0a, "info", function() {
                                W0a["talkWithUI"](R0a, "more_games", function() {
                                    return GamePix['createUIGameError'](),
                                        q0a({
                                            status: 'error'
                                        });
                                });
                            })));
                    break;
                case '40214':
                    if ("info" == Z0a['type'] && (R0a["temp"] = {
                        message: Z0a['message'],
                        button: GamePix['text']("text_id_continue")
                    },
                        'WEB' != R0a['siteVars']['platform'] ? W0a['talkWithUI'](R0a, "info", function() {
                            return GamePix["createUIGameError"](),
                                q0a({
                                    status: "error"
                                });
                        }) : r0a['test'](navigator["userAgent"]) ? (R0a["temp"]['button'] = GamePix["text"]("text_id_continue"),
                            W0a['talkWithUI'](R0a, "info", function() {
                                W0a['talkWithUI'](R0a, 'app_install', function() {
                                    W0a['talkWithUI'](R0a, 'more_games', function() {
                                        return GamePix["createUIGameError"](),
                                            q0a({
                                                status: 'error'
                                            });
                                    });
                                });
                            })) : (R0a['temp']['button'] = GamePix["text"]('text_id_continue'),
                            W0a['talkWithUI'](R0a, "info", function() {
                                W0a['talkWithUI'](R0a, 'more_games', function() {
                                    return GamePix['createUIGameError'](),
                                        q0a({
                                            status: 'error'
                                        });
                                });
                            }))),
                    'WEB' != R0a['siteVars']['platform']) {
                        return q0a({
                            status: "error"
                        });
                    }
                    if ("video" == Z0a['type'] && "video" == Z0a["params"]['name'] && "play" == Z0a['params']['action']) {
                        try {
                            GamePix['on']['soundOff']();
                        } catch (y0a) {}
                        W0a['talkWithUI'](R0a, 'video', function(T0a) {
                            window['focus']();
                            try {
                                setTimeout(function() {
                                    GamePix["on"]["soundOff"]();
                                    GamePix["on"]['soundOn']();
                                }, 1500);
                            } catch (Y0a) {}
                            return q0a({
                                status: T0a
                            });
                        });
                    }
                    if ("link" == Z0a["type"] && "open" == Z0a['params']["action"]) {
                        return window["open"](i0a, '_blank'),
                            q0a({
                                status: 'success'
                            });
                    }
                    if ("app_install" == Z0a['type'] && 'download' == Z0a["params"]['action']) {
                        return q0a({
                            status: 'success'
                        });
                    }
                    break;
                case '40220':
                    return "shop" == Z0a["type"] && "open" == Z0a['params']["action"] ? (W0a['talkWithUI'](R0a, "remap_info_ttfd", function() {}),
                        q0a({
                            status: 'error'
                        })) : ('cross_promotion' == Z0a["type"] && "play" == Z0a['params']["action"] && "ttf" == Z0a["params"]['name'] && (window["location"]["href"] = location["protocol"] + "//games.gamepix.com/play/40187?sid=" + R0a['allVars']['sid']),
                        'shop' == Z0a["type"] && 'buy' == Z0a["params"]['action'] && void 0 !== Z0a['params']['value'] ? (W0a["talkWithUI"](R0a, "remap_info_ttfd", function() {}),
                            q0a({
                                status: 'success',
                                value: Number(Z0a['params']['value'])
                            })) : (W0a["talkWithUI"](R0a, "remap_info_ttfd", function() {}),
                            q0a({
                                status: 'error'
                            })));
                case "40271":
                    if ('info' == Z0a['type'] && (R0a['temp'] = {
                        message: Z0a["message"],
                        button: GamePix['text']('text_id_continue')
                    },
                        W0a["talkWithUI"](R0a, "info", function() {
                            return GamePix["createUIGameError"](),
                                q0a({
                                    status: "error"
                                });
                        })),
                    "shop" == Z0a["type"]) {
                        if ('WEB' != R0a["siteVars"]["platform"] && 'buy' == Z0a['params']['action'] && void 0 !== Z0a['params']["value"]) {
                            return q0a({
                                status: "success",
                                value: Number(Z0a['params']["value"]),
                                name: Z0a["params"]['name']
                            });
                        }
                        W0a["talkWithUI"](R0a, 'remap_info_ttfd', function() {
                            return q0a({
                                status: 'error',
                                value: Number(Z0a['params']['value']),
                                name: Z0a['params']["name"]
                            });
                        });
                    }
                    break;
                case "40187":
                    'social' == Z0a['type'] && W0a["talkWithUI"](R0a, 'remap_info_ttfd', function() {
                        return q0a({
                            status: "error"
                        });
                    });
                    break;
                case "40272":
                    return q0a({
                        status: 'error'
                    });
                case '40302':
                    if ("info" == Z0a['type'] && (R0a['temp'] = {
                        message: Z0a['message'],
                        button: GamePix["text"]('text_id_continue')
                    },
                        W0a["talkWithUI"](R0a, 'info', function() {
                            return GamePix["createUIGameError"](),
                                q0a({
                                    status: "error"
                                });
                        })),
                    'copyright' == Z0a["type"] && (R0a['temp'] = {
                        message: Z0a["message"],
                        button: GamePix['text']("text_id_continue")
                    },
                        W0a['talkWithUI'](R0a, 'info', function() {
                            return q0a({
                                status: 'success'
                            });
                        })),
                    'shop' == Z0a['type']) {
                        if ("WEB" != R0a['siteVars']["platform"] && "buy" == Z0a["params"]['action'] && void 0 !== Z0a['params']['value']) {
                            return q0a({
                                status: 'success',
                                value: Number(Z0a['params']['value']),
                                name: Z0a['params']['name']
                            });
                        }
                        W0a["talkWithUI"](R0a, 'remap_info_ttfd', function() {
                            return q0a({
                                status: "error",
                                value: Number(Z0a['params']['value']),
                                name: Z0a["params"]["name"]
                            });
                        });
                    }
                    break;
                case '40339':
                    if ("info" == Z0a["type"] && (R0a['temp'] = {
                        message: Z0a['message'],
                        button: GamePix['text']("text_id_continue")
                    },
                        W0a["talkWithUI"](R0a, "info", function() {
                            return GamePix['createUIGameError'](),
                                q0a({
                                    status: 'error'
                                });
                        })),
                    "shop" == Z0a['type']) {
                        if ('WEB' != R0a['siteVars']["platform"] && "buy" == Z0a["params"]["action"] && void 0 !== Z0a['params']["value"]) {
                            return q0a({
                                status: 'success',
                                value: Number(Z0a['params']["value"]),
                                name: Z0a["params"]["name"]
                            });
                        }
                        W0a["talkWithUI"](R0a, 'remap_info_ttfd', function() {
                            return q0a({
                                status: "error",
                                value: Number(Z0a["params"]["value"]),
                                name: Z0a['params']['name']
                            });
                        });
                    }
                    break;
                case "40343":
                    if ("shop" == Z0a["type"]) {
                        if ('WEB' != R0a["siteVars"]['platform'] && "buy" == Z0a['params']["action"] && void 0 !== Z0a["params"]["value"]) {
                            return q0a({
                                status: "success",
                                value: Number(Z0a["params"]['value']),
                                name: Z0a['params']['name']
                            });
                        }
                        W0a['talkWithUI'](R0a, 'remap_info_ttfd', function() {
                            return q0a({
                                status: 'error',
                                value: Number(Z0a["params"]['value']),
                                name: Z0a["params"]['name']
                            });
                        });
                    }
                    break;
                default:
                    "info" == Z0a["type"] && (R0a["temp"] = {
                        message: Z0a['message'],
                        button: GamePix['text']('text_id_continue')
                    },
                        W0a['talkWithUI'](R0a, 'info', function() {
                            if ('WEB' != R0a["siteVars"]["platform"]) {
                                return GamePix["createUIGameError"](),
                                    q0a({
                                        status: "error"
                                    });
                            }
                            W0a["talkWithUI"](R0a, 'more_games', function() {
                                return GamePix['createUIGameError'](),
                                    q0a({
                                        status: 'error'
                                    });
                            });
                        }));
            }
        } catch (Q4s) {
            return console["log"](Q4s['message']),
                q0a({
                    status: "success"
                });
        }
    }
    return {
        remap: F0a
    };
});
GamePix["define"]('gameFunctions', ['stats', "gameSession", "pubManager", "loadingManager", "loadingScoreManager", 'ui', 'scoreManager', "serverApi", 'utils', "remapManager"], function(X4s, v4s, g4s, H4s, B4s, x4s, h4s, j4s, S4s, w4s) {
    var A4s, b4s;

    function n4s() {
        k4s("levelComplete");
    }

    function P4s(V4s) {
        !0 === v4s["siteVars"]["custom_api"] && !1 === b4s ? GamePix["requirejs"](["/gpxlib/ingamelib2/assets/sid/" + v4s['allVars']["sid"] + "/gameFunctions_" + v4s['allVars']["sid"] + ".js"], function(p4s) {
            A4s['levelComplete'] = p4s['levelComplete'];
            A4s["gameOver"] = p4s["gameOver"];
            A4s['gameLoaded'] = p4s["gameLoaded"];
            A4s["gameLoading"] = void 0 !== p4s["gameLoading"] ? p4s['gameLoading'] : function() {};
            b4s = !0;
            V4s && V4s();
        }) : V4s && V4s();
    }

    function E4s(l4s) {
        var K4s;
        l4s && (l4s['level'] && (v4s['inGameVars']["levelReached"] = l4s['level']),
        l4s["score"] && (v4s['inGameVars']["actualScore"] = l4s["score"]),
            v4s['inGameVars']["losedTimes"]++);
        K4s = h4s['sendScoreToServer'](v4s);
        K4s['totalNumberOfLC_GO'] = v4s["inGameVars"]["losedTimes"] + v4s['inGameVars']['levelPassedTimes'];
        k4s('gameOver');
        A4s['gameOver'](K4s);
        f4s();
    }

    function C4s(s4s, z4s) {
        s4s ? g4s['next']('gameLoaded', function() {
            L4s(function() {
                H4s["checkRealUserInteraction"]();
                z4s();
            });
        }) : L4s(function() {
            H4s["checkRealUserInteraction"]();
            z4s();
        });
    }

    function G4s(t4s) {
        var M4s;
        t4s && (t4s['level'] && (v4s["inGameVars"]['levelReached'] = t4s['level']),
        t4s["score"] && (v4s["inGameVars"]['actualScore'] = t4s["score"]),
            v4s["inGameVars"]["levelPassedTimes"]++);
        M4s = h4s['sendScoreToServer'](v4s);
        M4s['totalNumberOfLC_GO'] = v4s["inGameVars"]["losedTimes"] + v4s["inGameVars"]['levelPassedTimes'];
        k4s("levelComplete");
        A4s["levelComplete"](M4s);
        f4s();
    }

    function d4s(N4s) {
        !1 === v4s["inGameVars"]['gameLoaded'] && (N4s && (H4s["loaderBar"](N4s),
            A4s["gameLoading"](N4s)),
            P4s());
    }

    function u4s(U4s) {
        U4s && (console['log'](U4s),
        U4s['level'] && (v4s['inGameVars']["levelReached"] = U4s['level']),
        U4s['score'] && (v4s['inGameVars']["actualScore"] = U4s["score"]));
        k4s('gameComplete');
    }

    function J4s(e4s, a4s) {
        console["log"]("GL");
        !1 === v4s['inGameVars']['sessionTokenFlag'] && X4s["start"]("loaded", v4s);
        P4s(function() {
            C4s(e4s, a4s);
        });
    }
    A4s = {
        levelComplete: function() {},
        gameOver: function() {},
        gameLoaded: function(R4s) {
            R4s();
        },
        gameLoading: function() {}
    };
    b4s = !1;

    function c4s(D4s, O4s, m4s) {
        w4s["remap"](D4s, O4s, m4s);
    }

    function L4s(o4s) {
        v4s["inGameVars"]["gameLoaded"] = !0;
        A4s['gameLoaded'](function() {
            H4s['killLoaderUI']();
            window['focus']();
            o4s();
        });
    }

    function k4s(I4s) {
        g4s["next"](I4s, function() {});
    }

    function f4s() {
        !1 === v4s['inGameVars']["gamePlayed"] && (console['log']("GAMEPLAYED NOT SENT, SEND NOW"),
            v4s["inGameVars"]["gamePlayed"] = !0,
            X4s['sendEventToApi']("gamePlayed", v4s),
            fbq('track', 'ViewContent'));
    }
    return {
        levelComplete: G4s,
        gameOver: E4s,
        gameComplete: u4s,
        gameLoaded: J4s,
        gameLoading: d4s,
        remap: c4s,
        customLoadingAds: n4s
    };
});
GamePix["define"]('apiGateway', ['gameFunctions'], function(W4s) {
    var r4s;

    function Y4s(x2s) {
        x2s ? W4s["gameLoading"](x2s) : W4s["gameLoading"]();
    }

    function q4s(d2s, G2s) {
        switch (d2s) {
            case "level_complete":
                G2s ? W4s['levelComplete'](G2s) : W4s["levelComplete"]();
                break;
            case 'game_over':
                G2s ? W4s['gameOver'](G2s) : W4s["gameOver"]();
        }
    }

    function F4s(Q2s) {
        return Q2s['custom_hook'] ? GamePix["requirejs"](['/gpxlib/ingamelib2/modules/game/gameshook/gameHook_' + Q2s['gid'] + '.js'], function(v2s) {
            r4s = v2s['hook'];
        }) : r4s = function(H2s, A2s) {
            console["log"]("Hook not defined for this game", H2s);
            A2s && A2s();
        },
            Z4s;
    }

    function y4s(S2s) {
        var c2s, C2s, w2s;
        if (!0 === S2s && null === document["getElementById"]("gamepix_12_custom_loading_container")) {
            c2s = document["createElement"]('div');
            c2s['id'] = 'gamepix_12_custom_loading_container';
            C2s = document["createElement"]("p");
            C2s["id"] = 'gamepix_12_gif_loading';
            w2s = document['createElement']("p");
            w2s["id"] = 'gamepix_12_label_loading';
            w2s['textContent'] = "Loading...";
            c2s["appendChild"](C2s);
            c2s['appendChild'](w2s);
            document["getElementsByTagName"]('body')[0]['appendChild'](c2s);
            W4s['customLoadingAds']();
        } else {
            !1 === S2s && null !== document["getElementById"]('gamepix_12_custom_loading_container') && document['getElementsByTagName']('body')[0]['removeChild'](document['getElementById']("gamepix_12_custom_loading_container"));
        }
    }

    function T4s(j2s) {
        GamePix['game']['gameLoaded'] = function() {};
        j2s ? W4s["gameLoaded"](!0, function() {
            console['log']("GS");
            GamePix["game"]['gameLoading'] = function() {};
            setTimeout(function() {
                j2s();
            }, 500);
        }) : W4s["gameLoaded"](!0);
    }

    function Z4s(L2s) {
        var k2s, b2s;
        k2s = function() {
            this['type'] = L2s;
            this['internal_action'] = null;
            this['internal_value'] = null;
            this['onSuccessInternal'] = function() {};
            this['onFailInternal'] = function() {};
        };
        k2s['prototype']['action'] = function(h2s) {
            return this["internal_action"] = h2s,
                this;
        };
        k2s['prototype']["value"] = function(g2s) {
            return this['internal_value'] = g2s,
                this;
        };
        k2s['prototype']["onSuccess"] = function(X2s) {
            return X2s && (this["onSuccessInternal"] = X2s),
                this;
        };
        k2s["prototype"]["onFail"] = function(f2s) {
            return f2s && (this['onFailInternal'] = f2s),
                this;
        };
        b2s = new k2s();
        return setTimeout(function() {
            r4s(b2s, function(P2s) {
                "success" === P2s ? b2s["onSuccessInternal"]() : b2s["onFailInternal"]();
            });
        }, 100),
            b2s;
    }

    function i4s(E2s, J2s, u2s) {
        W4s["remap"](E2s, J2s, function(n2s) {
            u2s(n2s);
        });
    }
    return {
        game: {
            ping: q4s,
            gameLoaded: T4s,
            gameLoading: Y4s,
            remap: i4s,
            customLoading: y4s
        },
        hook: F4s
    };
});
GamePix['requirejs']["config"]({
    baseUrl: '/gpxlib/ingamelib2/modules',
    waitSeconds: 0,
    paths: {
        loadingManager: "loading/loadingManager",
        loadingScoreManager: 'loading/loadingScoreManager',
        rotateManager: "loading/rotateManager",
        configLib: 'tool/configLib',
        ravenGPX: "tool/ravenGPX",
        ui: 'ui/ui',
        gameSession: 'game/gameSession',
        apiGateway: 'game/apiGateway',
        scoreManager: 'game/scoreManager',
        gameFunctions: 'game/gameFunctions',
        remapManager: "game/remapManager",
        utils: 'tool/utils',
        xhr: 'tool/xhr',
        serverApi: 'tool/serverApi',
        stats: "stats/stats",
        ads: 'pub/ads',
        tool4adv: "pub/tool4adv",
        ima4gamepix_sperimental: 'pub/ima4gamepix_sperimental',
        advertisingFake: 'pub/advertising',
        pubManager: "pub/pubManager",
        text: 'tool/text',
        facebook: "modules/tool/facebookInit",
        dragManager: 'tool/dragManager',
        hammer: 'tool/hammer'
    },
    mainConfigFile: 'main.js'
});
zIndexGamepix = 99999999;
(function(B2s) {
    "use strict";
    var I2s;
    if (window['onerror'] = function(M2s, l2s, U2s) {
        var t2s, K2s;
        if ("advertisingFake" == l2s && (B2s['Advertising'] = !1),
        null !== M2s["match"](/connect[^\n]facebook[^\n]net/)) {
            t2s = document['createElement']('p');
            t2s["id"] = "gamepix_13_label_error";
            "ar" != B2s['lang']() && 'fa' != B2s['lang']() && "eg" != B2s['lang']() && 'aeb' != B2s['lang']() || t2s["style"]['setProperty']("direction", "rtl", 'important');
            t2s["textContent"] = B2s["text"]("text_incognito");
            K2s = setInterval(function() {
                null !== document['getElementById']('gamepix_10_game_info') && (clearInterval(K2s),
                    document['getElementById']("gamepix_10_game_info")['appendChild'](t2s));
            }, 500);
        }
        Q4aa.U7v(Q4aa.q5G()[20][16]);
        console['log'](Q4aa.O7v(U2s, ' Script: ', " Line: ", l2s, M2s, 'Error: '));
    },
    navigator['userAgent']['match'](/MSIE 7[^\n]0/gi) || navigator["userAgent"]["match"](/MSIE 8[^\n]0/gi) || navigator["userAgent"]['match'](/MSIE 9[^\n]0/gi)) {
        I2s = B2s['text']("text_id_IE_support") + '|| http://windows.microsoft.com/en-us/internet-explorer/download-ie';
        return alert(I2s);
    }
    GamePix["requirejs"](['gameSession', "stats", 'pubManager', 'loadingManager', 'apiGateway', 'dragManager'], function(D2s, o2s, z2s, O2s, m2s) {
        D2s["startSession"](function(s2s) {
            0 == D2s["inGameVars"]["sessionTokenFlag"] && o2s["start"]('pageview', D2s);
            B2s["game"] = m2s['game'];
            B2s["hook"] = m2s['hook'](D2s["gameVars"]);
            B2s['start'] = function() {
                if ('undefined' != typeof Promise) {
                    return new Promise(function(e2s, a2s) {
                        return e2s();
                    });
                }
            };
            B2s['loading'] = B2s["game"]["gameLoading"];
            B2s["loaded"] = function() {
                return new Promise(function(N2s, V2s) {
                    B2s["game"]['gameLoaded'](function() {
                        return O2s["killLoaderUI"](),
                            N2s({
                                entryPoint: 'main'
                            });
                    });
                });
            };
            B2s["ping"] = B2s['game']["ping"];
            B2s['hook'] = function() {
                return new Promise(function(R2s, p2s) {
                    return p2s();
                });
            };
            B2s['player'] = function() {
                return {
                    id: 1,
                    name: 'GamePix',
                    photoUrl: 'https://gpxfbgames.blob.core.windows.net/assets/sdk-test-profile-photos/gamepix_logo.png',
                    score: 0,
                    level: 0
                };
            };
            B2s['opponents'] = function() {
                return [];
            };
            B2s['friends'] = function() {
                return [];
            };
            B2s['loadedFired'] && (console['log']("SE"),
                B2s["game"]['gameLoading'](99),
                B2s["game"]['gameLoaded'](function() {
                    B2s["on"]["start"]();
                    O2s['killLoaderUI']();
                }));
            delete B2s["loadedFired"];
            O2s['start'](z2s["startPreroll"]);
        });
    });
}(GamePix));
GamePix["define"]('main', function() {});